Theorem boolext | index | src |

theorem boolext (a b: nat):
  $ bool a -> bool b -> (true a <-> true b <-> a = b) $;
StepHypRefExpression
1 nattrue
bool a -> nat (true a) = a
2 anll
bool a /\ bool b /\ (true a <-> true b) -> bool a
3 1, 2 syl
bool a /\ bool b /\ (true a <-> true b) -> nat (true a) = a
4 nattrue
bool b -> nat (true b) = b
5 anlr
bool a /\ bool b /\ (true a <-> true b) -> bool b
6 4, 5 syl
bool a /\ bool b /\ (true a <-> true b) -> nat (true b) = b
7 3, 6 eqeqd
bool a /\ bool b /\ (true a <-> true b) -> (nat (true a) = nat (true b) <-> a = b)
8 nateq
(true a <-> true b) -> nat (true a) = nat (true b)
9 8 anwr
bool a /\ bool b /\ (true a <-> true b) -> nat (true a) = nat (true b)
10 7, 9 mpbid
bool a /\ bool b /\ (true a <-> true b) -> a = b
11 10 exp
bool a /\ bool b -> (true a <-> true b) -> a = b
12 trueeq
a = b -> (true a <-> true b)
13 12 a1i
bool a /\ bool b -> a = b -> (true a <-> true b)
14 11, 13 ibid
bool a /\ bool b -> (true a <-> true b <-> a = b)
15 14 exp
bool a -> bool b -> (true a <-> true b <-> a = b)

Axiom use

axs_prop_calc (ax_1, ax_2, ax_3, ax_mp, itru), axs_pred_calc (ax_gen, ax_4, ax_5, ax_6, ax_7, ax_10, ax_11, ax_12), axs_set (elab, ax_8), axs_the (theid, the0), axs_peano (peano1, peano2, peano5, addeq, add0, addS)