(* When something does not fit, this daemon is used *)
axiom cast: ∀A,B:CProp.B → A.
+(* begin a proof: draws the root *)
+notation > "'prove' p" non associative with precedence 19
+for @{ 'prove $p }.
+interpretation "prove KO" 'prove p = (cast _ _ (show p _)).
+interpretation "prove OK" 'prove p = (show p _).
+
(* Leaves *)
notation < "\infrule (t\atop ⋮) a ?" with precedence 19
for @{ 'leaf_ok $a $t }.
interpretation "leaf OK" 'leaf_ok a t = (show a t).
notation < "\infrule (t\atop ⋮) mstyle color #ff0000 (a) ?" with precedence 19
for @{ 'leaf_ko $a $t }.
-interpretation "leaf KO" 'leaf_ko a t = (cast _ a (show _ t)).
-
-(* begin a proof: draws the root *)
-notation > "'prove' p" non associative with precedence 19
-for @{ 'prove $p }.
-interpretation "prove KO" 'prove p = (cast _ _ (show p _)).
-interpretation "prove OK" 'prove p = (show p _).
+interpretation "leaf KO" 'leaf_ko a t = (cast _ _ (show a t)).
(* discharging *)
notation < "[ a ] \sup mstyle color #ff0000 (H)" with precedence 19
notation < "\infrule hbox(\emsp ab \emsp\emsp\emsp a\emsp) b mstyle color #ff0000 (\lnot\sub\e) " with precedence 19
for @{ 'Not_elim_ko_1 $ab $a $b }.
interpretation "Not_elim_ko_1" 'Not_elim_ko_1 ab a b =
- (show b (cast _ _ (Not_elim _ (cast _ _ ab) a))).
+ (show b (cast _ _ (Not_elim _ (cast _ _ ab) (cast _ _ a)))).
notation < "\infrule hbox(\emsp ab \emsp\emsp\emsp a\emsp) mstyle color #ff0000 (b) mstyle color #ff0000 (\lnot\sub\e) " with precedence 19
for @{ 'Not_elim_ko_2 $ab $a $b }.
interpretation "Not_elim_ko_2" 'Not_elim_ko_2 ab a b =
- (cast _ _ (show b (cast _ _ (Not_elim _ (cast _ _ ab) a)))).
+ (cast _ _ (show b (cast _ _ (Not_elim _ (cast _ _ ab) (cast _ _ a))))).
notation < "\infrule hbox(\emsp ab \emsp\emsp\emsp a\emsp) b (\lnot\sub\e) " with precedence 19
for @{ 'Not_elim_ok_1 $ab $a $b }.
notation > "¬_'e' term 90 ab term 90 a" with precedence 19
for @{ 'Not_elim (show $ab ?) (show $a ?) }.
-interpretation "Not_elim KO" 'Not_elim ab a = (cast _ unit (Not_elim _ (cast _ _ ab) a)).
-interpretation "Not_elim OK" 'Not_elim ab a = (Not_elim _ ab a).
+interpretation "Not_elim KO" 'Not_elim ab a =
+ (cast _ _ (Not_elim unit (cast _ _ ab) (cast _ _ a))).
+interpretation "Not_elim OK" 'Not_elim ab a =
+ (Not_elim _ ab a).
(* RAA *)
notation < "\infrule hbox(\emsp Px \emsp) Pn (mstyle color #ff0000 (\RAA) \emsp ident x)" with precedence 19