src/Tools/Code_Generator.thy
changeset 82774 2865a6618cba
parent 70009 435fb018e8ee
equal deleted inserted replaced
82773:4ec8e654112f 82774:2865a6618cba
    37   by (unfold holds_def) (rule reflexive)
    37   by (unfold holds_def) (rule reflexive)
    38 
    38 
    39 code_datatype holds
    39 code_datatype holds
    40 
    40 
    41 lemma implies_code [code]:
    41 lemma implies_code [code]:
       
    42   "(PROP P \<Longrightarrow> PROP holds) \<equiv> PROP holds"
    42   "(PROP holds \<Longrightarrow> PROP P) \<equiv> PROP P"
    43   "(PROP holds \<Longrightarrow> PROP P) \<equiv> PROP P"
    43   "(PROP P \<Longrightarrow> PROP holds) \<equiv> PROP holds"
       
    44 proof -
    44 proof -
    45   show "(PROP holds \<Longrightarrow> PROP P) \<equiv> PROP P"
    45   show "(PROP holds \<Longrightarrow> PROP P) \<equiv> PROP P"
    46   proof
    46   proof
    47     assume "PROP holds \<Longrightarrow> PROP P"
    47     assume "PROP holds \<Longrightarrow> PROP P"
    48     then show "PROP P" using holds .
    48     then show "PROP P" using holds .