src/ZF/Nat.thy
changeset 13784 b9f6154427a4
parent 13628 87482b5e3f2e
child 13823 d49ffd9f9662
equal deleted inserted replaced
13783:3294f727e20d 13784:b9f6154427a4
   172     "[| m: nat;  n: nat;   
   172     "[| m: nat;  n: nat;   
   173         !!x. x: nat ==> P(x,0);   
   173         !!x. x: nat ==> P(x,0);   
   174         !!y. y: nat ==> P(0,succ(y));   
   174         !!y. y: nat ==> P(0,succ(y));   
   175         !!x y. [| x: nat;  y: nat;  P(x,y) |] ==> P(succ(x),succ(y)) |]
   175         !!x y. [| x: nat;  y: nat;  P(x,y) |] ==> P(succ(x),succ(y)) |]
   176      ==> P(m,n)"
   176      ==> P(m,n)"
   177 apply (erule_tac x = "m" in rev_bspec)
   177 apply (erule_tac x = m in rev_bspec)
   178 apply (erule nat_induct, simp) 
   178 apply (erule nat_induct, simp) 
   179 apply (rule ballI)
   179 apply (rule ballI)
   180 apply (rename_tac i j)
   180 apply (rename_tac i j)
   181 apply (erule_tac n=j in nat_induct, auto)  
   181 apply (erule_tac n=j in nat_induct, auto)  
   182 done
   182 done