equal
deleted
inserted
replaced
39 type netpair = (int*(bool*thm)) Net.net * (int*(bool*thm)) Net.net; |
39 type netpair = (int*(bool*thm)) Net.net * (int*(bool*thm)) Net.net; |
40 |
40 |
41 signature BLAST_DATA = |
41 signature BLAST_DATA = |
42 sig |
42 sig |
43 structure Classical: CLASSICAL |
43 structure Classical: CLASSICAL |
44 val thy: theory |
44 val Trueprop_const: string * typ |
45 val equality_name: string |
45 val equality_name: string |
46 val not_name: string |
46 val not_name: string |
47 val notE: thm (* [| ~P; P |] ==> R *) |
47 val notE: thm (* [| ~P; P |] ==> R *) |
48 val ccontr: thm |
48 val ccontr: thm |
49 val hyp_subst_tac: bool -> int -> tactic |
49 val hyp_subst_tac: bool -> int -> tactic |
170 fun mkGoal P = Const ("*Goal*", []) $ P; |
170 fun mkGoal P = Const ("*Goal*", []) $ P; |
171 |
171 |
172 fun isGoal (Const ("*Goal*", _) $ _) = true |
172 fun isGoal (Const ("*Goal*", _) $ _) = true |
173 | isGoal _ = false; |
173 | isGoal _ = false; |
174 |
174 |
175 val TruepropC = Object_Logic.judgment_name Data.thy; (* FIXME *) |
175 val (TruepropC, TruepropT) = Data.Trueprop_const; |
176 val TruepropT = Sign.the_const_type Data.thy TruepropC; |
|
177 |
176 |
178 fun mk_Trueprop t = Term.$ (Term.Const (TruepropC, TruepropT), t); |
177 fun mk_Trueprop t = Term.$ (Term.Const (TruepropC, TruepropT), t); |
179 |
178 |
180 fun strip_Trueprop (tm as Const (c, _) $ t) = if c = TruepropC then t else tm |
179 fun strip_Trueprop (tm as Const (c, _) $ t) = if c = TruepropC then t else tm |
181 | strip_Trueprop tm = tm; |
180 | strip_Trueprop tm = tm; |