src/HOL/HOL.thy
changeset 54742 7a86358a3c0b
parent 53146 3a93bc5d3370
child 54890 cb892d835803
equal deleted inserted replaced
54741:010eefa0a4f3 54742:7a86358a3c0b
  1494                     | is_conj @{const induct_true} = true
  1494                     | is_conj @{const induct_true} = true
  1495                     | is_conj @{const induct_false} = true
  1495                     | is_conj @{const induct_false} = true
  1496                     | is_conj _ = false
  1496                     | is_conj _ = false
  1497                 in if is_conj P then SOME @{thm induct_conj_curry} else NONE end
  1497                 in if is_conj P then SOME @{thm induct_conj_curry} else NONE end
  1498               | _ => NONE))]
  1498               | _ => NONE))]
  1499     |> Simplifier.set_mksimps (fn ss => Simpdata.mksimps Simpdata.mksimps_pairs ss #>
  1499     |> Simplifier.set_mksimps (fn ctxt =>
  1500       map (rewrite_rule (map Thm.symmetric @{thms induct_rulify_fallback})))))
  1500         Simpdata.mksimps Simpdata.mksimps_pairs ctxt #>
       
  1501         map (rewrite_rule ctxt (map Thm.symmetric @{thms induct_rulify_fallback})))))
  1501 *}
  1502 *}
  1502 
  1503 
  1503 text {* Pre-simplification of induction and cases rules *}
  1504 text {* Pre-simplification of induction and cases rules *}
  1504 
  1505 
  1505 lemma [induct_simp]: "(!!x. induct_equal x t ==> PROP P x) == PROP P t"
  1506 lemma [induct_simp]: "(!!x. induct_equal x t ==> PROP P x) == PROP P t"