# HG changeset patch # User wenzelm # Date 1701892673 -3600 # Node ID 00962876301c0b4bb6dabfcfd8fe952a70a57ddf # Parent 3b272da1d1651a85a8090958016379193f3a79d8 tuned names; diff -r 3b272da1d165 -r 00962876301c src/Pure/zterm.ML --- a/src/Pure/zterm.ML Wed Dec 06 20:52:08 2023 +0100 +++ b/src/Pure/zterm.ML Wed Dec 06 20:57:53 2023 +0100 @@ -403,44 +403,44 @@ fun implies_intr_proof thy A prf = let val h = global_zterm_of thy A; - fun abs_hyp i (ZHyp t) = if aconv_zterm (h, t) then ZBoundP i else raise Same.SAME - | abs_hyp i (ZAbst (x, T, p)) = ZAbst (x, T, abs_hyp i p) - | abs_hyp i (ZAbsP (x, t, p)) = ZAbsP (x, t, abs_hyp (i + 1) p) - | abs_hyp i (ZAppt (p, t)) = ZAppt (abs_hyp i p, t) - | abs_hyp i (ZAppP (p, q)) = - (ZAppP (abs_hyp i p, Same.commit (abs_hyp i) q) handle Same.SAME => - ZAppP (p, abs_hyp i q)) - | abs_hyp _ _ = raise Same.SAME; - in ZAbsP ("H", h, Same.commit (abs_hyp 0) prf) end; + fun proof i (ZHyp t) = if aconv_zterm (h, t) then ZBoundP i else raise Same.SAME + | proof i (ZAbst (x, T, p)) = ZAbst (x, T, proof i p) + | proof i (ZAbsP (x, t, p)) = ZAbsP (x, t, proof (i + 1) p) + | proof i (ZAppt (p, t)) = ZAppt (proof i p, t) + | proof i (ZAppP (p, q)) = + (ZAppP (proof i p, Same.commit (proof i) q) handle Same.SAME => + ZAppP (p, proof i q)) + | proof _ _ = raise Same.SAME; + in ZAbsP ("H", h, Same.commit (proof 0) prf) end; fun forall_intr_proof thy T (a, x) prf = let val Z = ztyp_of T; val z = global_zterm_of thy x; - fun abs_term i b = + fun term i b = if aconv_zterm (b, z) then ZBound i else (case b of - ZAbs (x, T, t) => ZAbs (x, T, abs_term (i + 1) t) + ZAbs (x, T, t) => ZAbs (x, T, term (i + 1) t) | ZApp (t, u) => - (ZApp (abs_term i t, Same.commit (abs_term i) u) handle Same.SAME => - ZApp (t, abs_term i u)) + (ZApp (term i t, Same.commit (term i) u) handle Same.SAME => + ZApp (t, term i u)) | _ => raise Same.SAME); - fun abs_proof i (ZAbst (x, T, prf)) = ZAbst (x, T, abs_proof (i + 1) prf) - | abs_proof i (ZAbsP (x, t, prf)) = - (ZAbsP (x, abs_term i t, Same.commit (abs_proof i) prf) handle Same.SAME => - ZAbsP (x, t, abs_proof i prf)) - | abs_proof i (ZAppt (p, t)) = - (ZAppt (abs_proof i p, Same.commit (abs_term i) t) handle Same.SAME => - ZAppt (p, abs_term i t)) - | abs_proof i (ZAppP (p, q)) = - (ZAppP (abs_proof i p, Same.commit (abs_proof i) q) handle Same.SAME => - ZAppP (p, abs_proof i q)) - | abs_proof _ _ = raise Same.SAME; + fun proof i (ZAbst (x, T, prf)) = ZAbst (x, T, proof (i + 1) prf) + | proof i (ZAbsP (x, t, prf)) = + (ZAbsP (x, term i t, Same.commit (proof i) prf) handle Same.SAME => + ZAbsP (x, t, proof i prf)) + | proof i (ZAppt (p, t)) = + (ZAppt (proof i p, Same.commit (term i) t) handle Same.SAME => + ZAppt (p, term i t)) + | proof i (ZAppP (p, q)) = + (ZAppP (proof i p, Same.commit (proof i) q) handle Same.SAME => + ZAppP (p, proof i q)) + | proof _ _ = raise Same.SAME; - in ZAbst (a, Z, Same.commit (abs_proof 0) prf) end; + in ZAbst (a, Z, Same.commit (proof 0) prf) end; fun forall_elim_proof thy t p = ZAppt (p, global_zterm_of thy t);