equal
deleted
inserted
replaced
56 \<close> |
56 \<close> |
57 |
57 |
58 notepad |
58 notepad |
59 begin |
59 begin |
60 { |
60 { |
61 fix x -- \<open>all potential occurrences of some \<open>x::\<tau>\<close> are fixed\<close> |
61 fix x \<comment> \<open>all potential occurrences of some \<open>x::\<tau>\<close> are fixed\<close> |
62 { |
62 { |
63 have "x::'a \<equiv> x" -- \<open>implicit type assignment by concrete occurrence\<close> |
63 have "x::'a \<equiv> x" \<comment> \<open>implicit type assignment by concrete occurrence\<close> |
64 by (rule reflexive) |
64 by (rule reflexive) |
65 } |
65 } |
66 thm this -- \<open>result still with fixed type \<open>'a\<close>\<close> |
66 thm this \<comment> \<open>result still with fixed type \<open>'a\<close>\<close> |
67 } |
67 } |
68 thm this -- \<open>fully general result for arbitrary \<open>?x::?'a\<close>\<close> |
68 thm this \<comment> \<open>fully general result for arbitrary \<open>?x::?'a\<close>\<close> |
69 end |
69 end |
70 |
70 |
71 text \<open>The Isabelle/Isar proof context manages the details of term |
71 text \<open>The Isabelle/Isar proof context manages the details of term |
72 vs.\ type variables, with high-level principles for moving the |
72 vs.\ type variables, with high-level principles for moving the |
73 frontier between fixed and schematic variables. |
73 frontier between fixed and schematic variables. |