equal
deleted
inserted
replaced
21 let val cert = Thm.cterm_of (Thm.theory_of_thm st); |
21 let val cert = Thm.cterm_of (Thm.theory_of_thm st); |
22 in PRIMITIVE (Thm.instantiate ([], [(cert (Var v), cert (inst T))])) st end |
22 in PRIMITIVE (Thm.instantiate ([], [(cert (Var v), cert (inst T))])) st end |
23 | _ => Seq.empty; |
23 | _ => Seq.empty; |
24 |
24 |
25 fun relation_tac ctxt rel i = |
25 fun relation_tac ctxt rel i = |
26 TRY (Function_Common.apply_termination_rule ctxt i) |
26 TRY (Function_Common.termination_rule_tac ctxt i) |
27 THEN inst_state_tac rel; |
27 THEN inst_state_tac rel; |
28 |
28 |
29 |
29 |
30 (* version with type inference *) |
30 (* version with type inference *) |
31 |
31 |
43 PRIMITIVE (Thm.instantiate ([], [(cert (Var v), rel')])) st |
43 PRIMITIVE (Thm.instantiate ([], [(cert (Var v), rel')])) st |
44 end |
44 end |
45 | _ => Seq.empty; |
45 | _ => Seq.empty; |
46 |
46 |
47 fun relation_infer_tac ctxt rel i = |
47 fun relation_infer_tac ctxt rel i = |
48 TRY (Function_Common.apply_termination_rule ctxt i) |
48 TRY (Function_Common.termination_rule_tac ctxt i) |
49 THEN inst_state_infer_tac ctxt rel; |
49 THEN inst_state_infer_tac ctxt rel; |
50 |
50 |
51 end |
51 end |