equal
deleted
inserted
replaced
182 zproof -> zproof -> zproof |
182 zproof -> zproof -> zproof |
183 val generalize_proof: Names.set * Names.set -> int -> zproof -> zproof |
183 val generalize_proof: Names.set * Names.set -> int -> zproof -> zproof |
184 val instantiate_proof: theory -> |
184 val instantiate_proof: theory -> |
185 ((indexname * sort) * typ) list * ((indexname * typ) * term) list -> zproof -> zproof |
185 ((indexname * sort) * typ) list * ((indexname * typ) * term) list -> zproof -> zproof |
186 val varifyT_proof: ((string * sort) * (indexname * sort)) list -> zproof -> zproof |
186 val varifyT_proof: ((string * sort) * (indexname * sort)) list -> zproof -> zproof |
|
187 val incr_indexes_proof: int -> zproof -> zproof |
187 end; |
188 end; |
188 |
189 |
189 structure ZTerm: ZTERM = |
190 structure ZTerm: ZTERM = |
190 struct |
191 struct |
191 |
192 |
550 (case ZTVars.lookup tab v of |
551 (case ZTVars.lookup tab v of |
551 NONE => raise Same.SAME |
552 NONE => raise Same.SAME |
552 | SOME w => ZTVar w)); |
553 | SOME w => ZTVar w)); |
553 in Same.commit (map_proof_types_same typ) prf end; |
554 in Same.commit (map_proof_types_same typ) prf end; |
554 |
555 |
555 end; |
556 fun incr_indexes_proof inc prf = |
|
557 let |
|
558 fun tvar ((a, i), S) = if i >= 0 then ZTVar ((a, i + inc), S) else raise Same.SAME; |
|
559 fun var ((x, i), T) = if i >= 0 then ZVar ((x, i + inc), T) else raise Same.SAME; |
|
560 val typ = subst_type_same tvar; |
|
561 val term = subst_term_same typ var; |
|
562 in Same.commit (map_proof_same typ term) prf end; |
|
563 |
|
564 end; |