equal
deleted
inserted
replaced
181 in list_comb(c,[mk_abs r]) |
181 in list_comb(c,[mk_abs r]) |
182 end; |
182 end; |
183 |
183 |
184 |
184 |
185 fun mk_conj{conj1,conj2} = |
185 fun mk_conj{conj1,conj2} = |
186 let val c = Const(@{const_name "op &"},HOLogic.boolT --> HOLogic.boolT --> HOLogic.boolT) |
186 let val c = Const(@{const_name HOL.conj},HOLogic.boolT --> HOLogic.boolT --> HOLogic.boolT) |
187 in list_comb(c,[conj1,conj2]) |
187 in list_comb(c,[conj1,conj2]) |
188 end; |
188 end; |
189 |
189 |
190 fun mk_disj{disj1,disj2} = |
190 fun mk_disj{disj1,disj2} = |
191 let val c = Const(@{const_name "op |"},HOLogic.boolT --> HOLogic.boolT --> HOLogic.boolT) |
191 let val c = Const(@{const_name HOL.disj},HOLogic.boolT --> HOLogic.boolT --> HOLogic.boolT) |
192 in list_comb(c,[disj1,disj2]) |
192 in list_comb(c,[disj1,disj2]) |
193 end; |
193 end; |
194 |
194 |
195 fun prod_ty ty1 ty2 = HOLogic.mk_prodT (ty1,ty2); |
195 fun prod_ty ty1 ty2 = HOLogic.mk_prodT (ty1,ty2); |
196 |
196 |
257 | dest_exists _ = raise USYN_ERR "dest_exists" "not an existential"; |
257 | dest_exists _ = raise USYN_ERR "dest_exists" "not an existential"; |
258 |
258 |
259 fun dest_neg(Const(@{const_name Not},_) $ M) = M |
259 fun dest_neg(Const(@{const_name Not},_) $ M) = M |
260 | dest_neg _ = raise USYN_ERR "dest_neg" "not a negation"; |
260 | dest_neg _ = raise USYN_ERR "dest_neg" "not a negation"; |
261 |
261 |
262 fun dest_conj(Const(@{const_name "op &"},_) $ M $ N) = {conj1=M, conj2=N} |
262 fun dest_conj(Const(@{const_name HOL.conj},_) $ M $ N) = {conj1=M, conj2=N} |
263 | dest_conj _ = raise USYN_ERR "dest_conj" "not a conjunction"; |
263 | dest_conj _ = raise USYN_ERR "dest_conj" "not a conjunction"; |
264 |
264 |
265 fun dest_disj(Const(@{const_name "op |"},_) $ M $ N) = {disj1=M, disj2=N} |
265 fun dest_disj(Const(@{const_name HOL.disj},_) $ M $ N) = {disj1=M, disj2=N} |
266 | dest_disj _ = raise USYN_ERR "dest_disj" "not a disjunction"; |
266 | dest_disj _ = raise USYN_ERR "dest_disj" "not a disjunction"; |
267 |
267 |
268 fun mk_pair{fst,snd} = |
268 fun mk_pair{fst,snd} = |
269 let val ty1 = type_of fst |
269 let val ty1 = type_of fst |
270 val ty2 = type_of snd |
270 val ty2 = type_of snd |