src/HOL/Library/Phantom_Type.thy
changeset 58384 00aaaa7bd752
parent 58378 cf6f16bc11a7
parent 58383 09a2c3e08ec2
child 58881 b9556a055632
equal deleted inserted replaced
58382:2ee61d28c667 58384:00aaaa7bd752
    28             (Syntax.const @{syntax_const "_Phantom"} $ Syntax_Phases.term_of_typ ctxt T, ts)
    28             (Syntax.const @{syntax_const "_Phantom"} $ Syntax_Phases.term_of_typ ctxt T, ts)
    29       | phantom_tr' _ _ _ = raise Match;
    29       | phantom_tr' _ _ _ = raise Match;
    30   in [(@{const_syntax phantom}, phantom_tr')] end
    30   in [(@{const_syntax phantom}, phantom_tr')] end
    31 *}
    31 *}
    32 
    32 
       
    33 lemma of_phantom_inject [simp]:
       
    34   "of_phantom x = of_phantom y \<longleftrightarrow> x = y"
       
    35 by(cases x y rule: phantom.exhaust[case_product phantom.exhaust]) simp
       
    36 
    33 end
    37 end