src/HOL/ex/PresburgerEx.thy
changeset 66453 cc19f7ca2ed6
parent 61945 1135b8de26c3
child 67006 b1278ed3cd46
equal deleted inserted replaced
66452:450cefec7c11 66453:cc19f7ca2ed6
     3 *)
     3 *)
     4 
     4 
     5 section \<open>Some examples for Presburger Arithmetic\<close>
     5 section \<open>Some examples for Presburger Arithmetic\<close>
     6 
     6 
     7 theory PresburgerEx
     7 theory PresburgerEx
     8 imports Presburger
     8 imports HOL.Presburger
     9 begin
     9 begin
    10 
    10 
    11 lemma "\<And>m n ja ia. \<lbrakk>\<not> m \<le> j; \<not> (n::nat) \<le> i; (e::nat) \<noteq> 0; Suc j \<le> ja\<rbrakk> \<Longrightarrow> \<exists>m. \<forall>ja ia. m \<le> ja \<longrightarrow> (if j = ja \<and> i = ia then e else 0) = 0" by presburger
    11 lemma "\<And>m n ja ia. \<lbrakk>\<not> m \<le> j; \<not> (n::nat) \<le> i; (e::nat) \<noteq> 0; Suc j \<le> ja\<rbrakk> \<Longrightarrow> \<exists>m. \<forall>ja ia. m \<le> ja \<longrightarrow> (if j = ja \<and> i = ia then e else 0) = 0" by presburger
    12 lemma "(0::nat) < emBits mod 8 \<Longrightarrow> 8 + emBits div 8 * 8 - emBits = 8 - emBits mod 8" 
    12 lemma "(0::nat) < emBits mod 8 \<Longrightarrow> 8 + emBits div 8 * 8 - emBits = 8 - emBits mod 8" 
    13 by presburger
    13 by presburger