src/HOL/Bali/AxSem.thy
changeset 61424 c3658c18b7bc
parent 60754 02924903a6fd
child 61989 ba8c284d4725
equal deleted inserted replaced
61423:9b6a0fb85fa3 61424:c3658c18b7bc
   967  "G,(A::'a triple set)|\<turnstile>insert (t::'a triple) ts \<Longrightarrow> G,A\<turnstile>t \<and> G,A|\<turnstile>ts"
   967  "G,(A::'a triple set)|\<turnstile>insert (t::'a triple) ts \<Longrightarrow> G,A\<turnstile>t \<and> G,A|\<turnstile>ts"
   968 apply (fast intro: ax_derivs.weaken)
   968 apply (fast intro: ax_derivs.weaken)
   969 done
   969 done
   970 
   970 
   971 lemma ax_methods_spec: 
   971 lemma ax_methods_spec: 
   972 "\<lbrakk>G,(A::'a triple set)|\<turnstile>split f ` ms; (C,sig) \<in> ms\<rbrakk>\<Longrightarrow> G,A\<turnstile>((f C sig)::'a triple)"
   972 "\<lbrakk>G,(A::'a triple set)|\<turnstile>case_prod f ` ms; (C,sig) \<in> ms\<rbrakk>\<Longrightarrow> G,A\<turnstile>((f C sig)::'a triple)"
   973 apply (erule ax_derivs.weaken)
   973 apply (erule ax_derivs.weaken)
   974 apply (force del: image_eqI intro: rev_image_eqI)
   974 apply (force del: image_eqI intro: rev_image_eqI)
   975 done
   975 done
   976 
   976 
   977 (* this version is used to avoid using the cut rule *)
   977 (* this version is used to avoid using the cut rule *)
   978 lemma ax_finite_pointwise_lemma [rule_format]: "\<lbrakk>F \<subseteq> ms; finite ms\<rbrakk> \<Longrightarrow>  
   978 lemma ax_finite_pointwise_lemma [rule_format]: "\<lbrakk>F \<subseteq> ms; finite ms\<rbrakk> \<Longrightarrow>  
   979   ((\<forall>(C,sig)\<in>F. G,(A::'a triple set)\<turnstile>(f C sig::'a triple)) \<longrightarrow> (\<forall>(C,sig)\<in>ms. G,A\<turnstile>(g C sig::'a triple))) \<longrightarrow>  
   979   ((\<forall>(C,sig)\<in>F. G,(A::'a triple set)\<turnstile>(f C sig::'a triple)) \<longrightarrow> (\<forall>(C,sig)\<in>ms. G,A\<turnstile>(g C sig::'a triple))) \<longrightarrow>  
   980       G,A|\<turnstile>split f ` F \<longrightarrow> G,A|\<turnstile>split g ` F"
   980       G,A|\<turnstile>case_prod f ` F \<longrightarrow> G,A|\<turnstile>case_prod g ` F"
   981 apply (frule (1) finite_subset)
   981 apply (frule (1) finite_subset)
   982 apply (erule rev_mp)
   982 apply (erule rev_mp)
   983 apply (erule thin_rl)
   983 apply (erule thin_rl)
   984 apply (erule finite_induct)
   984 apply (erule finite_induct)
   985 apply  clarsimp+
   985 apply  clarsimp+