equal
deleted
inserted
replaced
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 |