User module:Julian/sandbox

 import (NAT User_interface:Julian/sandbox )

var (nat a b)



 thm (example1 (

) (a = a) ( a eqreflexive ))



 thm (succEq0 ( ) ((succ a) = (a + (1))) ( a addzero succfunc a (0) addsucc eqtransitive ))



 thm (succEq1 ( (H (a = (a + b))) )  ((succ a) = (a + (succ b))) ( H succfunc a b addsucc eqtransitive )) 

 thm (2+1=3 (

)  (((2) + (1)) = (3)) (  (2) addzero succEq1 eqsymmetric )) 

 thm (2+2=4  (((2) + (2)) = (4)) (



((2) = ((2) + (0)))  (2) addzero 

[1]: ((succ (2)) = (succ ((2) + (0))))  succfunc 

[2]: ((succ ((2) + (0))) = ((2) + (succ (0))))  (2) (0) addsucc </jh>

[1] + [2]: ((succ (2)) = ((2) + (succ (0))))  eqtransitive </jh>

[3]: ((succ (succ (2))) = (succ ((2) + (succ (0)))))

[3]': ((succ (succ (2))) = (succ ((2) + (1))))  succfunc </jh>

[4]: ((succ ((2) + (1))) = ((2) + (succ (1))))  (2) (1) addsucc </jh>

[3]' + [4]: ((succ (succ (2))) = ((2) + (succ (1))))  eqtransitive </jh>

[5]: (((2) + (succ (1))) = (succ (succ (2))))  eqsymmetric </jh> [5]': (((2) + (2)) = (4))

&#x25A0;



))

</jh>