src/LCF/ex/Ex3.thy
author wenzelm
Sun, 20 May 2012 11:34:33 +0200
changeset 47884 21c42b095c84
parent 47025 b2b8ae61d6ad
child 58889 5b7a9633cfa8
permissions -rw-r--r--
try to avoid races again (cf. 8c37cb84065f and fd3a36e48b09);

header {* Addition with fixpoint of successor *}

theory Ex3
imports LCF
begin

axiomatization
  s     :: "'a => 'a" and
  p     :: "'a => 'a => 'a"
where
  p_strict:     "p(UU) = UU" and
  p_s:          "p(s(x),y) = s(p(x,y))"

declare p_strict [simp] p_s [simp]

lemma example: "p(FIX(s),y) = FIX(s)"
  apply (tactic {* induct_tac @{context} "s" 1 *})
  apply simp
  apply simp
  done

end