src/FOLP/IFOLP.thy
changeset 52143 36ffe23b25f8
parent 51306 f0e5af7aa68b
child 52230 1105b3b5aa77
equal deleted inserted replaced
52142:348aed032cda 52143:36ffe23b25f8
    64 
    64 
    65 syntax "_Proof" :: "[p,o]=>prop"    ("(_ /: _)" [51, 10] 5)
    65 syntax "_Proof" :: "[p,o]=>prop"    ("(_ /: _)" [51, 10] 5)
    66 
    66 
    67 parse_translation {*
    67 parse_translation {*
    68   let fun proof_tr [p, P] = Const (@{const_syntax Proof}, dummyT) $ P $ p
    68   let fun proof_tr [p, P] = Const (@{const_syntax Proof}, dummyT) $ P $ p
    69   in [(@{syntax_const "_Proof"}, proof_tr)] end
    69   in [(@{syntax_const "_Proof"}, K proof_tr)] end
    70 *}
    70 *}
    71 
    71 
    72 (*show_proofs = true displays the proof terms -- they are ENORMOUS*)
    72 (*show_proofs = true displays the proof terms -- they are ENORMOUS*)
    73 ML {* val show_proofs = Attrib.setup_config_bool @{binding show_proofs} (K false) *}
    73 ML {* val show_proofs = Attrib.setup_config_bool @{binding show_proofs} (K false) *}
    74 
    74 
    75 print_translation (advanced) {*
    75 print_translation {*
    76   let
    76   let
    77     fun proof_tr' ctxt [P, p] =
    77     fun proof_tr' ctxt [P, p] =
    78       if Config.get ctxt show_proofs then Const (@{syntax_const "_Proof"}, dummyT) $ p $ P
    78       if Config.get ctxt show_proofs then Const (@{syntax_const "_Proof"}, dummyT) $ p $ P
    79       else P
    79       else P
    80   in [(@{const_syntax Proof}, proof_tr')] end
    80   in [(@{const_syntax Proof}, proof_tr')] end