Theorem fstpr | index | src |

pub theorem fstpr (a b: nat): $ fst (a, b) = a $;
StepHypRefExpression
1 prth
a, b = x, y <-> a = x /\ b = y
2 anl
a = x /\ b = y -> a = x
3 2 eqcomd
a = x /\ b = y -> x = a
4 1, 3 sylbi
a, b = x, y -> x = a
5 4 eex
E. y a, b = x, y -> x = a
6 preq1
x = a -> x, b = a, b
7 6 eqcomd
x = a -> a, b = x, b
8 preq2
y = b -> x, y = x, b
9 8 eqeq2d
y = b -> (a, b = x, y <-> a, b = x, b)
10 9 iexe
a, b = x, b -> E. y a, b = x, y
11 7, 10 rsyl
x = a -> E. y a, b = x, y
12 5, 11 ibii
E. y a, b = x, y <-> x = a
13 12 a1i
T. -> (E. y a, b = x, y <-> x = a)
14 13 eqtheabd
T. -> the {x | E. y a, b = x, y} = a
15 14 conv fst
T. -> fst (a, b) = a
16 15 trud
fst (a, b) = a

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, muleq, add0, addS, mul0, mulS)