src/ZF/simpdata.ML
changeset 762 1cf9ebcc3ff3
parent 533 7357160bc56a
child 855 4c8d0ece1f95
equal deleted inserted replaced
761:04320c295500 762:1cf9ebcc3ff3
    13   | is_rigid_elem _ = false;
    13   | is_rigid_elem _ = false;
    14 
    14 
    15 (*Try solving a:A by assumption provided a is rigid!*) 
    15 (*Try solving a:A by assumption provided a is rigid!*) 
    16 val test_assume_tac = SUBGOAL(fn (prem,i) =>
    16 val test_assume_tac = SUBGOAL(fn (prem,i) =>
    17     if is_rigid_elem (Logic.strip_assums_concl prem)
    17     if is_rigid_elem (Logic.strip_assums_concl prem)
    18     then  assume_tac i  else  no_tac);
    18     then  assume_tac i  else  eq_assume_tac i);
    19 
    19 
    20 (*Type checking solves a:?A (a rigid, ?A maybe flexible).  
    20 (*Type checking solves a:?A (a rigid, ?A maybe flexible).  
    21   match_tac is too strict; would refuse to instantiate ?A*)
    21   match_tac is too strict; would refuse to instantiate ?A*)
    22 fun typechk_step_tac tyrls =
    22 fun typechk_step_tac tyrls =
    23     FIRSTGOAL (test_assume_tac ORELSE' filt_resolve_tac tyrls 3);
    23     FIRSTGOAL (test_assume_tac ORELSE' filt_resolve_tac tyrls 3);