src/Doc/Implementation/Proof.thy
changeset 61580 c49a8ebd30cc
parent 61493 0debd22f0c0e
child 61656 cfabbc083977
equal deleted inserted replaced
61579:634cd44bb1d3 61580:c49a8ebd30cc
    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.