src/HOL/ex/PresburgerEx.thy
changeset 67006 b1278ed3cd46
parent 66453 cc19f7ca2ed6
child 70165 48e8bbeef7d3
equal deleted inserted replaced
67005:11fca474d87a 67006:b1278ed3cd46
     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 HOL.Presburger
     8 imports Main
     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