'/-'          Comment
'\n'          Comment.Multiline

'C'           Comment.Multiline
'o'           Comment.Multiline
'p'           Comment.Multiline
'y'           Comment.Multiline
'r'           Comment.Multiline
'i'           Comment.Multiline
'g'           Comment.Multiline
'h'           Comment.Multiline
't'           Comment.Multiline
' '           Comment.Multiline
'('           Comment.Multiline
'c'           Comment.Multiline
')'           Comment.Multiline
' '           Comment.Multiline
'2'           Comment.Multiline
'0'           Comment.Multiline
'1'           Comment.Multiline
'7'           Comment.Multiline
' '           Comment.Multiline
'J'           Comment.Multiline
'o'           Comment.Multiline
'h'           Comment.Multiline
'a'           Comment.Multiline
'n'           Comment.Multiline
'n'           Comment.Multiline
'e'           Comment.Multiline
's'           Comment.Multiline
' '           Comment.Multiline
'H'           Comment.Multiline
'ö'           Comment.Multiline
'l'           Comment.Multiline
'z'           Comment.Multiline
'l'           Comment.Multiline
'.'           Comment.Multiline
' '           Comment.Multiline
'A'           Comment.Multiline
'l'           Comment.Multiline
'l'           Comment.Multiline
' '           Comment.Multiline
'r'           Comment.Multiline
'i'           Comment.Multiline
'g'           Comment.Multiline
'h'           Comment.Multiline
't'           Comment.Multiline
's'           Comment.Multiline
' '           Comment.Multiline
'r'           Comment.Multiline
'e'           Comment.Multiline
's'           Comment.Multiline
'e'           Comment.Multiline
'r'           Comment.Multiline
'v'           Comment.Multiline
'e'           Comment.Multiline
'd'           Comment.Multiline
'.'           Comment.Multiline
'\n'          Comment.Multiline

'R'           Comment.Multiline
'e'           Comment.Multiline
'l'           Comment.Multiline
'e'           Comment.Multiline
'a'           Comment.Multiline
's'           Comment.Multiline
'e'           Comment.Multiline
'd'           Comment.Multiline
' '           Comment.Multiline
'u'           Comment.Multiline
'n'           Comment.Multiline
'd'           Comment.Multiline
'e'           Comment.Multiline
'r'           Comment.Multiline
' '           Comment.Multiline
'A'           Comment.Multiline
'p'           Comment.Multiline
'a'           Comment.Multiline
'c'           Comment.Multiline
'h'           Comment.Multiline
'e'           Comment.Multiline
' '           Comment.Multiline
'2'           Comment.Multiline
'.'           Comment.Multiline
'0'           Comment.Multiline
' '           Comment.Multiline
'l'           Comment.Multiline
'i'           Comment.Multiline
'c'           Comment.Multiline
'e'           Comment.Multiline
'n'           Comment.Multiline
's'           Comment.Multiline
'e'           Comment.Multiline
' '           Comment.Multiline
'a'           Comment.Multiline
's'           Comment.Multiline
' '           Comment.Multiline
'd'           Comment.Multiline
'e'           Comment.Multiline
's'           Comment.Multiline
'c'           Comment.Multiline
'r'           Comment.Multiline
'i'           Comment.Multiline
'b'           Comment.Multiline
'e'           Comment.Multiline
'd'           Comment.Multiline
' '           Comment.Multiline
'i'           Comment.Multiline
'n'           Comment.Multiline
' '           Comment.Multiline
't'           Comment.Multiline
'h'           Comment.Multiline
'e'           Comment.Multiline
' '           Comment.Multiline
'f'           Comment.Multiline
'i'           Comment.Multiline
'l'           Comment.Multiline
'e'           Comment.Multiline
' '           Comment.Multiline
'L'           Comment.Multiline
'I'           Comment.Multiline
'C'           Comment.Multiline
'E'           Comment.Multiline
'N'           Comment.Multiline
'S'           Comment.Multiline
'E'           Comment.Multiline
'.'           Comment.Multiline
'\n'          Comment.Multiline

'A'           Comment.Multiline
'u'           Comment.Multiline
't'           Comment.Multiline
'h'           Comment.Multiline
'o'           Comment.Multiline
'r'           Comment.Multiline
's'           Comment.Multiline
':'           Comment.Multiline
' '           Comment.Multiline
'J'           Comment.Multiline
'o'           Comment.Multiline
'h'           Comment.Multiline
'a'           Comment.Multiline
'n'           Comment.Multiline
'n'           Comment.Multiline
'e'           Comment.Multiline
's'           Comment.Multiline
' '           Comment.Multiline
'H'           Comment.Multiline
'ö'           Comment.Multiline
'l'           Comment.Multiline
'z'           Comment.Multiline
'l'           Comment.Multiline
'\n'          Comment.Multiline

'\n'          Comment.Multiline

'Z'           Comment.Multiline
'o'           Comment.Multiline
'r'           Comment.Multiline
'n'           Comment.Multiline
"'"           Comment.Multiline
's'           Comment.Multiline
' '           Comment.Multiline
'l'           Comment.Multiline
'e'           Comment.Multiline
'm'           Comment.Multiline
'm'           Comment.Multiline
'a'           Comment.Multiline
's'           Comment.Multiline
'.'           Comment.Multiline
'\n'          Comment.Multiline

'\n'          Comment.Multiline

'P'           Comment.Multiline
'o'           Comment.Multiline
'r'           Comment.Multiline
't'           Comment.Multiline
'e'           Comment.Multiline
'd'           Comment.Multiline
' '           Comment.Multiline
'f'           Comment.Multiline
'r'           Comment.Multiline
'o'           Comment.Multiline
'm'           Comment.Multiline
' '           Comment.Multiline
'I'           Comment.Multiline
's'           Comment.Multiline
'a'           Comment.Multiline
'b'           Comment.Multiline
'e'           Comment.Multiline
'l'           Comment.Multiline
'l'           Comment.Multiline
'e'           Comment.Multiline
'/'           Comment.Multiline
'H'           Comment.Multiline
'O'           Comment.Multiline
'L'           Comment.Multiline
' '           Comment.Multiline
'('           Comment.Multiline
'w'           Comment.Multiline
'r'           Comment.Multiline
'i'           Comment.Multiline
't'           Comment.Multiline
't'           Comment.Multiline
'e'           Comment.Multiline
'n'           Comment.Multiline
' '           Comment.Multiline
'b'           Comment.Multiline
'y'           Comment.Multiline
' '           Comment.Multiline
'J'           Comment.Multiline
'a'           Comment.Multiline
'c'           Comment.Multiline
'q'           Comment.Multiline
'u'           Comment.Multiline
'e'           Comment.Multiline
's'           Comment.Multiline
' '           Comment.Multiline
'D'           Comment.Multiline
'.'           Comment.Multiline
' '           Comment.Multiline
'F'           Comment.Multiline
'l'           Comment.Multiline
'e'           Comment.Multiline
'u'           Comment.Multiline
'r'           Comment.Multiline
'i'           Comment.Multiline
'o'           Comment.Multiline
't'           Comment.Multiline
','           Comment.Multiline
' '           Comment.Multiline
'T'           Comment.Multiline
'o'           Comment.Multiline
'b'           Comment.Multiline
'i'           Comment.Multiline
'a'           Comment.Multiline
's'           Comment.Multiline
' '           Comment.Multiline
'N'           Comment.Multiline
'i'           Comment.Multiline
'p'           Comment.Multiline
'k'           Comment.Multiline
'o'           Comment.Multiline
'w'           Comment.Multiline
','           Comment.Multiline
' '           Comment.Multiline
'a'           Comment.Multiline
'n'           Comment.Multiline
'd'           Comment.Multiline
' '           Comment.Multiline
'C'           Comment.Multiline
'h'           Comment.Multiline
'r'           Comment.Multiline
'i'           Comment.Multiline
's'           Comment.Multiline
't'           Comment.Multiline
'i'           Comment.Multiline
'a'           Comment.Multiline
'n'           Comment.Multiline
' '           Comment.Multiline
'S'           Comment.Multiline
't'           Comment.Multiline
'e'           Comment.Multiline
'r'           Comment.Multiline
'n'           Comment.Multiline
'a'           Comment.Multiline
'g'           Comment.Multiline
'e'           Comment.Multiline
'l'           Comment.Multiline
')'           Comment.Multiline
'.'           Comment.Multiline
'\n'          Comment.Multiline

'-/'          Comment.Multiline
'\n'          Text

'import'      Keyword.Namespace
' '           Text
'data.set.lattice' Name
'\n'          Text

'noncomputable theory' Keyword.Declaration
'\n\n'        Text

'universes'   Keyword.Declaration
' '           Text
'u'           Name
'\n'          Text

'open'        Keyword.Namespace
' '           Text
'set'         Name
' '           Text
'classical'   Name
'\n'          Text

'local'       Keyword.Namespace
' '           Text
'attribute'   Keyword.Namespace
' '           Text
'['           Operator
'instance'    Keyword.Declaration
']'           Operator
' '           Text
'decidable_inhabited' Name
'\n'          Text

'local'       Keyword.Namespace
' '           Text
'attribute'   Keyword.Namespace
' '           Text
'['           Operator
'instance'    Keyword.Declaration
']'           Operator
' '           Text
'prop_decidable' Name
'\n\n'        Text

'namespace'   Keyword.Namespace
' '           Text
'zorn'        Name
'\n\n'        Text

'section'     Keyword.Namespace
' '           Text
'chain'       Name
'\n'          Text

'parameters'  Keyword.Declaration
' '           Text
'{'           Operator
'α'           Name
' '           Text
':'           Operator
' '           Text
'Type'        Keyword.Type
' '           Text
'u'           Name
'}'           Operator
' '           Text
'{'           Operator
'r'           Name
' '           Text
':'           Operator
' '           Text
'α'           Name
' '           Text
'→'           Name.Builtin.Pseudo
' '           Text
'α'           Name
' '           Text
'→'           Name.Builtin.Pseudo
' '           Text
'Prop'        Keyword.Type
'}'           Operator
'\n'          Text

'local'       Keyword.Namespace
' '           Text
'infix'       Keyword.Declaration
' '           Text
'`'           Name.Builtin.Pseudo
' '           Text
'≺'           Name.Builtin.Pseudo
' '           Text
'`'           Name.Builtin.Pseudo
':'           Operator
'50'          Literal.Number.Integer
'  '          Text
':='          Operator
' '           Text
'r'           Name
'\n\n'        Text

'def'         Keyword.Declaration
' '           Text
'chain'       Name
' '           Text
'('           Operator
'c'           Name
' '           Text
':'           Operator
' '           Text
'set'         Name
' '           Text
'α'           Name
')'           Operator
' '           Text
':='          Operator
' '           Text
'pairwise_on' Name
' '           Text
'c'           Name
' '           Text
'('           Operator
'λ'           Name.Builtin.Pseudo
'x'           Name
' '           Text
'y'           Name
','           Operator
' '           Text
'x'           Name
' '           Text
'≺'           Name.Builtin.Pseudo
' '           Text
'y'           Name
' '           Text
'∨'           Name.Builtin.Pseudo
' '           Text
'y'           Name
' '           Text
'≺'           Name.Builtin.Pseudo
' '           Text
'x'           Name
')'           Operator
'\n\n'        Text

'theorem'     Keyword.Declaration
' '           Text
'chain_insert' Name
' '           Text
'{'           Operator
'c'           Name
' '           Text
':'           Operator
' '           Text
'set'         Name
' '           Text
'α'           Name
'}'           Operator
' '           Text
'{'           Operator
'a'           Name
' '           Text
':'           Operator
' '           Text
'α'           Name
'}'           Operator
' '           Text
'('           Operator
'hc'          Name
' '           Text
':'           Operator
' '           Text
'chain'       Name
' '           Text
'c'           Name
')'           Operator
' '           Text
'('           Operator
'ha'          Name
' '           Text
':'           Operator
' '           Text
'∀'           Name.Builtin.Pseudo
'b'           Name
'∈'           Name.Builtin.Pseudo
'c'           Name
','           Operator
' '           Text
'b'           Name
' '           Text
'≠'           Name.Builtin.Pseudo
' '           Text
'a'           Name
' '           Text
'→'           Name.Builtin.Pseudo
' '           Text
'a'           Name
' '           Text
'≺'           Name.Builtin.Pseudo
' '           Text
'b'           Name
' '           Text
'∨'           Name.Builtin.Pseudo
' '           Text
'b'           Name
' '           Text
'≺'           Name.Builtin.Pseudo
' '           Text
'a'           Name
')'           Operator
' '           Text
':'           Operator
'\n  '        Text
'chain'       Name
' '           Text
'('           Operator
'insert'      Name
' '           Text
'a'           Name
' '           Text
'c'           Name
')'           Operator
' '           Text
':='          Operator
'\n'          Text

'forall_insert_of_forall' Name
'\n  '        Text
'('           Operator
'assume'      Keyword
' '           Text
'x'           Name
' '           Text
'hx'          Name
','           Operator
' '           Text
'forall_insert_of_forall' Name
' '           Text
'('           Operator
'hc'          Name
' '           Text
'x'           Name
' '           Text
'hx'          Name
')'           Operator
' '           Text
'('           Operator
'assume'      Keyword
' '           Text
'hneq'        Name
','           Operator
' '           Text
'('           Operator
'ha'          Name
' '           Text
'x'           Name
' '           Text
'hx'          Name
' '           Text
'hneq'        Name
')'           Operator
'.'           Name.Builtin.Pseudo
'symm'        Name
')'           Operator
')'           Operator
'\n  '        Text
'('           Operator
'forall_insert_of_forall' Name
' '           Text
'('           Operator
'assume'      Keyword
' '           Text
'x'           Name
' '           Text
'hx'          Name
' '           Text
'hneq'        Name
','           Operator
' '           Text
'ha'          Name
' '           Text
'x'           Name
' '           Text
'hx'          Name
' '           Text
'$'           Name.Builtin.Pseudo
' '           Text
'assume'      Keyword
' '           Text
"h'"          Name
','           Operator
' '           Text
'hneq'        Name
' '           Text
"h'.symm"     Name
')'           Operator
' '           Text
'('           Operator
'assume'      Keyword
' '           Text
'h'           Name
','           Operator
' '           Text
'('           Operator
'h'           Name
' '           Text
'rfl'         Name
')'           Operator
'.'           Name.Builtin.Pseudo
'rec'         Name
' '           Text
'_'           Name
')'           Operator
')'           Operator
'\n\n'        Text

'def'         Keyword.Declaration
' '           Text
'super_chain' Name
' '           Text
'('           Operator
'c₁'          Name
' '           Text
'c₂'          Name
' '           Text
':'           Operator
' '           Text
'set'         Name
' '           Text
'α'           Name
')'           Operator
' '           Text
':='          Operator
' '           Text
'chain'       Name
' '           Text
'c₂'          Name
' '           Text
'∧'           Name.Builtin.Pseudo
' '           Text
'c₁'          Name
' '           Text
'⊂'           Name.Builtin.Pseudo
' '           Text
'c₂'          Name
'\n\n'        Text

'def'         Keyword.Declaration
' '           Text
'is_max_chain' Name
' '           Text
'('           Operator
'c'           Name
' '           Text
':'           Operator
' '           Text
'set'         Name
' '           Text
'α'           Name
')'           Operator
' '           Text
':='          Operator
' '           Text
'chain'       Name
' '           Text
'c'           Name
' '           Text
'∧'           Name.Builtin.Pseudo
' '           Text
'¬'           Name.Builtin.Pseudo
' '           Text
'('           Operator
'∃'           Name.Builtin.Pseudo
"c'"          Name
','           Operator
' '           Text
'super_chain' Name
' '           Text
'c'           Name
' '           Text
"c'"          Name
')'           Operator
'\n\n'        Text

'def'         Keyword.Declaration
' '           Text
'succ_chain'  Name
' '           Text
'('           Operator
'c'           Name
' '           Text
':'           Operator
' '           Text
'set'         Name
' '           Text
'α'           Name
')'           Operator
' '           Text
':='          Operator
'\n'          Text

'if'          Keyword
' '           Text
'h'           Name
' '           Text
':'           Operator
' '           Text
'∃'           Name.Builtin.Pseudo
"c'"          Name
','           Operator
' '           Text
'chain'       Name
' '           Text
'c'           Name
' '           Text
'∧'           Name.Builtin.Pseudo
' '           Text
'super_chain' Name
' '           Text
'c'           Name
' '           Text
"c'"          Name
' '           Text
'then'        Keyword
' '           Text
'some'        Name
' '           Text
'h'           Name
' '           Text
'else'        Keyword
' '           Text
'c'           Name
'\n\n'        Text

'theorem'     Keyword.Declaration
' '           Text
'succ_spec'   Name
' '           Text
'{'           Operator
'c'           Name
' '           Text
':'           Operator
' '           Text
'set'         Name
' '           Text
'α'           Name
'}'           Operator
' '           Text
'('           Operator
'h'           Name
' '           Text
':'           Operator
' '           Text
'∃'           Name.Builtin.Pseudo
"c'"          Name
','           Operator
' '           Text
'chain'       Name
' '           Text
'c'           Name
' '           Text
'∧'           Name.Builtin.Pseudo
' '           Text
'super_chain' Name
' '           Text
'c'           Name
' '           Text
"c'"          Name
')'           Operator
' '           Text
':'           Operator
'\n  '        Text
'super_chain' Name
' '           Text
'c'           Name
' '           Text
'('           Operator
'succ_chain'  Name
' '           Text
'c'           Name
')'           Operator
' '           Text
':='          Operator
'\n'          Text

'let'         Keyword
' '           Text
'⟨'           Operator
"c'"          Name
','           Operator
' '           Text
"hc'"         Name
'⟩'           Operator
' '           Text
':='          Operator
' '           Text
'h'           Name
' '           Text
'in'          Keyword
'\n'          Text

'have'        Keyword
' '           Text
'chain'       Name
' '           Text
'c'           Name
' '           Text
'∧'           Name.Builtin.Pseudo
' '           Text
'super_chain' Name
' '           Text
'c'           Name
' '           Text
'('           Operator
'some'        Name
' '           Text
'h'           Name
')'           Operator
','           Operator
'\n  '        Text
'from'        Keyword
' '           Text
'@'           Name.Builtin.Pseudo
'some_spec'   Name
' '           Text
'_'           Name
' '           Text
'('           Operator
'λ'           Name.Builtin.Pseudo
"c'"          Name
','           Operator
' '           Text
'chain'       Name
' '           Text
'c'           Name
' '           Text
'∧'           Name.Builtin.Pseudo
' '           Text
'super_chain' Name
' '           Text
'c'           Name
' '           Text
"c'"          Name
')'           Operator
' '           Text
'_'           Name
','           Operator
'\n'          Text

'by'          Keyword.Declaration
' '           Text
'simp'        Name
' '           Text
'['           Operator
'succ_chain'  Name
','           Operator
' '           Text
'dif_pos'     Name
','           Operator
' '           Text
'h'           Name
','           Operator
' '           Text
'this.right'  Name
']'           Operator
'\n\n'        Text

'theorem'     Keyword.Declaration
' '           Text
'chain_succ'  Name
' '           Text
'{'           Operator
'c'           Name
' '           Text
':'           Operator
' '           Text
'set'         Name
' '           Text
'α'           Name
'}'           Operator
' '           Text
'('           Operator
'hc'          Name
' '           Text
':'           Operator
' '           Text
'chain'       Name
' '           Text
'c'           Name
')'           Operator
' '           Text
':'           Operator
' '           Text
'chain'       Name
' '           Text
'('           Operator
'succ_chain'  Name
' '           Text
'c'           Name
')'           Operator
' '           Text
':='          Operator
'\n'          Text

'if'          Keyword
' '           Text
'h'           Name
' '           Text
':'           Operator
' '           Text
'∃'           Name.Builtin.Pseudo
"c'"          Name
','           Operator
' '           Text
'chain'       Name
' '           Text
'c'           Name
' '           Text
'∧'           Name.Builtin.Pseudo
' '           Text
'super_chain' Name
' '           Text
'c'           Name
' '           Text
"c'"          Name
' '           Text
'then'        Keyword
'\n  '        Text
'('           Operator
'succ_spec'   Name
' '           Text
'h'           Name
')'           Operator
'.'           Name.Builtin.Pseudo
'left'        Name
'\n'          Text

'else'        Keyword
'\n  '        Text
'by'          Keyword.Declaration
' '           Text
'simp'        Name
' '           Text
'['           Operator
'succ_chain'  Name
','           Operator
' '           Text
'dif_neg'     Name
','           Operator
' '           Text
'h'           Name
']'           Operator
';'           Name.Builtin.Pseudo
' '           Text
'exact'       Name
' '           Text
'hc'          Name
'\n\n'        Text

'theorem'     Keyword.Declaration
' '           Text
'super_of_not_max' Name
' '           Text
'{'           Operator
'c'           Name
' '           Text
':'           Operator
' '           Text
'set'         Name
' '           Text
'α'           Name
'}'           Operator
' '           Text
'('           Operator
'hc₁'         Name
' '           Text
':'           Operator
' '           Text
'chain'       Name
' '           Text
'c'           Name
')'           Operator
' '           Text
'('           Operator
'hc₂'         Name
' '           Text
':'           Operator
' '           Text
'¬'           Name.Builtin.Pseudo
' '           Text
'is_max_chain' Name
' '           Text
'c'           Name
')'           Operator
' '           Text
':'           Operator
'\n  '        Text
'super_chain' Name
' '           Text
'c'           Name
' '           Text
'('           Operator
'succ_chain'  Name
' '           Text
'c'           Name
')'           Operator
' '           Text
':='          Operator
'\n'          Text

'begin'       Keyword.Declaration
'\n  '        Text
'simp'        Name
' '           Text
'['           Operator
'is_max_chain' Name
','           Operator
' '           Text
'not_and_iff' Name
','           Operator
' '           Text
'not_not_iff' Name
']'           Operator
' '           Text
'at'          Name
' '           Text
'hc₂'         Name
','           Operator
'\n  '        Text
'exact'       Name
' '           Text
'have'        Keyword
' '           Text
'∃'           Name.Builtin.Pseudo
"c'"          Name
','           Operator
' '           Text
'super_chain' Name
' '           Text
'c'           Name
' '           Text
"c'"          Name
','           Operator
' '           Text
'from'        Keyword
' '           Text
'hc₂.neg_resolve_left' Name
' '           Text
'hc₁'         Name
','           Operator
'\n  '        Text
'let'         Keyword
' '           Text
'⟨'           Operator
"c'"          Name
','           Operator
' '           Text
"hc'"         Name
'⟩'           Operator
' '           Text
':='          Operator
' '           Text
'this'        Name
' '           Text
'in'          Keyword
'\n  '        Text
'show'        Keyword
' '           Text
'super_chain' Name
' '           Text
'c'           Name
' '           Text
'('           Operator
'succ_chain'  Name
' '           Text
'c'           Name
')'           Operator
','           Operator
'\n    '      Text
'from'        Keyword
' '           Text
'succ_spec'   Name
' '           Text
'⟨'           Operator
"c'"          Name
','           Operator
' '           Text
'hc₁'         Name
','           Operator
' '           Text
"hc'"         Name
'⟩'           Operator
'\n'          Text

'end'         Keyword.Declaration
'\n\n'        Text

'theorem'     Keyword.Declaration
' '           Text
'succ_increasing' Name
' '           Text
'{'           Operator
'c'           Name
' '           Text
':'           Operator
' '           Text
'set'         Name
' '           Text
'α'           Name
'}'           Operator
' '           Text
':'           Operator
' '           Text
'c'           Name
' '           Text
'⊆'           Name.Builtin.Pseudo
' '           Text
'succ_chain'  Name
' '           Text
'c'           Name
' '           Text
':='          Operator
'\n'          Text

'if'          Keyword
' '           Text
'h'           Name
' '           Text
':'           Operator
' '           Text
'∃'           Name.Builtin.Pseudo
"c'"          Name
','           Operator
' '           Text
'chain'       Name
' '           Text
'c'           Name
' '           Text
'∧'           Name.Builtin.Pseudo
' '           Text
'super_chain' Name
' '           Text
'c'           Name
' '           Text
"c'"          Name
' '           Text
'then'        Keyword
'\n  '        Text
'have'        Keyword
' '           Text
'super_chain' Name
' '           Text
'c'           Name
' '           Text
'('           Operator
'succ_chain'  Name
' '           Text
'c'           Name
')'           Operator
','           Operator
' '           Text
'from'        Keyword
' '           Text
'succ_spec'   Name
' '           Text
'h'           Name
','           Operator
'\n  '        Text
'this.right.left' Name
'\n'          Text

'else'        Keyword
' '           Text
'by'          Keyword.Declaration
' '           Text
'simp'        Name
' '           Text
'['           Operator
'succ_chain'  Name
','           Operator
' '           Text
'dif_neg'     Name
','           Operator
' '           Text
'h'           Name
','           Operator
' '           Text
'subset.refl' Name
']'           Operator
'\n\n'        Text

'inductive'   Keyword.Declaration
' '           Text
'chain_closure' Name
' '           Text
':'           Operator
' '           Text
'set'         Name
' '           Text
'α'           Name
' '           Text
'→'           Name.Builtin.Pseudo
' '           Text
'Prop'        Keyword.Type
'\n'          Text

'|'           Name.Builtin.Pseudo
' '           Text
'succ'        Name
' '           Text
':'           Operator
' '           Text
'∀'           Name.Builtin.Pseudo
'{'           Operator
's'           Name
'}'           Operator
','           Operator
' '           Text
'chain_closure' Name
' '           Text
's'           Name
' '           Text
'→'           Name.Builtin.Pseudo
' '           Text
'chain_closure' Name
' '           Text
'('           Operator
'succ_chain'  Name
' '           Text
's'           Name
')'           Operator
'\n'          Text

'|'           Name.Builtin.Pseudo
' '           Text
'union'       Name
' '           Text
':'           Operator
' '           Text
'∀'           Name.Builtin.Pseudo
'{'           Operator
's'           Name
'}'           Operator
','           Operator
' '           Text
'('           Operator
'∀'           Name.Builtin.Pseudo
'a'           Name
'∈'           Name.Builtin.Pseudo
's'           Name
','           Operator
' '           Text
'chain_closure' Name
' '           Text
'a'           Name
')'           Operator
' '           Text
'→'           Name.Builtin.Pseudo
' '           Text
'chain_closure' Name
' '           Text
'('           Operator
'⋃'           Name.Builtin.Pseudo
'₀'           Name.Builtin.Pseudo
' '           Text
's'           Name
')'           Operator
'\n\n'        Text

'theorem'     Keyword.Declaration
' '           Text
'chain_closure_empty' Name
' '           Text
':'           Operator
' '           Text
'chain_closure' Name
' '           Text
'∅'           Name.Builtin.Pseudo
' '           Text
':='          Operator
'\n'          Text

'have'        Keyword
' '           Text
'chain_closure' Name
' '           Text
'('           Operator
'⋃'           Name.Builtin.Pseudo
'₀'           Name.Builtin.Pseudo
' '           Text
'∅'           Name.Builtin.Pseudo
')'           Operator
','           Operator
'\n  '        Text
'from'        Keyword
' '           Text
'chain_closure.union' Name
' '           Text
'$'           Name.Builtin.Pseudo
' '           Text
'assume'      Keyword
' '           Text
'a'           Name
' '           Text
'h'           Name
','           Operator
' '           Text
'h.rec'       Name
' '           Text
'_'           Name
','           Operator
'\n'          Text

'by'          Keyword.Declaration
' '           Text
'simp'        Name
' '           Text
'at'          Name
' '           Text
'this'        Name
';'           Name.Builtin.Pseudo
' '           Text
'assumption'  Name
'\n\n'        Text

'theorem'     Keyword.Declaration
' '           Text
'chain_closure_closure' Name
' '           Text
':'           Operator
' '           Text
'chain_closure' Name
' '           Text
'('           Operator
'⋃'           Name.Builtin.Pseudo
'₀'           Name.Builtin.Pseudo
' '           Text
'chain_closure' Name
')'           Operator
' '           Text
':='          Operator
'\n'          Text

'chain_closure.union' Name
' '           Text
'$'           Name.Builtin.Pseudo
' '           Text
'assume'      Keyword
' '           Text
's'           Name
' '           Text
'hs'          Name
','           Operator
' '           Text
'hs'          Name
'\n\n'        Text

'variables'   Keyword.Declaration
' '           Text
'{'           Operator
'c'           Name
' '           Text
'c₁'          Name
' '           Text
'c₂'          Name
' '           Text
'c₃'          Name
' '           Text
':'           Operator
' '           Text
'set'         Name
' '           Text
'α'           Name
'}'           Operator
'\n\n'        Text

'private'     Keyword.Namespace
' '           Text
'lemma'       Keyword.Declaration
' '           Text
'chain_closure_succ_total_aux' Name
' '           Text
'('           Operator
'hc₁'         Name
' '           Text
':'           Operator
' '           Text
'chain_closure' Name
' '           Text
'c₁'          Name
')'           Operator
' '           Text
'('           Operator
'hc₂'         Name
' '           Text
':'           Operator
' '           Text
'chain_closure' Name
' '           Text
'c₂'          Name
')'           Operator
'\n  '        Text
'('           Operator
'h'           Name
' '           Text
':'           Operator
' '           Text
'∀'           Name.Builtin.Pseudo
'{'           Operator
'c₃'          Name
'}'           Operator
','           Operator
' '           Text
'chain_closure' Name
' '           Text
'c₃'          Name
' '           Text
'→'           Name.Builtin.Pseudo
' '           Text
'c₃'          Name
' '           Text
'⊆'           Name.Builtin.Pseudo
' '           Text
'c₂'          Name
' '           Text
'→'           Name.Builtin.Pseudo
' '           Text
'c₂'          Name
' '           Text
'='           Name.Builtin.Pseudo
' '           Text
'c₃'          Name
' '           Text
'∨'           Name.Builtin.Pseudo
' '           Text
'succ_chain'  Name
' '           Text
'c₃'          Name
' '           Text
'⊆'           Name.Builtin.Pseudo
' '           Text
'c₂'          Name
')'           Operator
' '           Text
':'           Operator
'\n  '        Text
'c₁'          Name
' '           Text
'⊆'           Name.Builtin.Pseudo
' '           Text
'c₂'          Name
' '           Text
'∨'           Name.Builtin.Pseudo
' '           Text
'succ_chain'  Name
' '           Text
'c₂'          Name
' '           Text
'⊆'           Name.Builtin.Pseudo
' '           Text
'c₁'          Name
' '           Text
':='          Operator
'\n'          Text

'begin'       Keyword.Declaration
'\n  '        Text
'induction'   Name
' '           Text
'hc₁'         Name
','           Operator
'\n  '        Text
'case'        Name
' '           Text
'_root_.zorn.chain_closure.succ' Name
' '           Text
'c₃'          Name
' '           Text
'hc₃'         Name
' '           Text
'ih'          Name
' '           Text
'{'           Operator
'\n    '      Text
'cases'       Name
' '           Text
'ih'          Name
' '           Text
'with'        Keyword
' '           Text
'ih'          Name
' '           Text
'ih'          Name
','           Operator
'\n    '      Text
'{'           Operator
' '           Text
'have'        Keyword
' '           Text
'h'           Name
' '           Text
':='          Operator
' '           Text
'h'           Name
' '           Text
'hc₃'         Name
' '           Text
'ih'          Name
','           Operator
'\n      '    Text
'cases'       Name
' '           Text
'h'           Name
' '           Text
'with'        Keyword
' '           Text
'h'           Name
' '           Text
'h'           Name
','           Operator
'\n      '    Text
'{'           Operator
' '           Text
'exact'       Name
' '           Text
'or.inr'      Name
' '           Text
'('           Operator
'h'           Name
' '           Text
'▸'           Name.Builtin.Pseudo
' '           Text
'subset.refl' Name
' '           Text
'_'           Name
')'           Operator
' '           Text
'}'           Operator
','           Operator
'\n      '    Text
'{'           Operator
' '           Text
'exact'       Name
' '           Text
'or.inl'      Name
' '           Text
'h'           Name
' '           Text
'}'           Operator
' '           Text
'}'           Operator
','           Operator
'\n    '      Text
'{'           Operator
' '           Text
'exact'       Name
' '           Text
'or.inr'      Name
' '           Text
'('           Operator
'subset.trans' Name
' '           Text
'ih'          Name
' '           Text
'succ_increasing' Name
')'           Operator
' '           Text
'}'           Operator
' '           Text
'}'           Operator
','           Operator
'\n  '        Text
'case'        Name
' '           Text
'_root_.zorn.chain_closure.union' Name
' '           Text
's'           Name
' '           Text
'hs'          Name
' '           Text
'ih'          Name
' '           Text
'{'           Operator
'\n    '      Text
'refine'      Name
' '           Text
'('           Operator
"or_of_not_implies'" Name
' '           Text
'$'           Name.Builtin.Pseudo
' '           Text
'λ'           Name.Builtin.Pseudo
' '           Text
'hn'          Name
','           Operator
' '           Text
'sUnion_subset' Name
' '           Text
'$'           Name.Builtin.Pseudo
' '           Text
'λ'           Name.Builtin.Pseudo
' '           Text
'a'           Name
' '           Text
'ha'          Name
','           Operator
' '           Text
'_'           Name
')'           Operator
','           Operator
'\n    '      Text
'apply'       Name
' '           Text
'('           Operator
'ih'          Name
' '           Text
'a'           Name
' '           Text
'ha'          Name
')'           Operator
'.'           Name.Builtin.Pseudo
'resolve_right' Name
','           Operator
'\n    '      Text
'apply'       Name
' '           Text
'mt'          Name
' '           Text
'('           Operator
'λ'           Name.Builtin.Pseudo
' '           Text
'h'           Name
','           Operator
' '           Text
'_'           Name
')'           Operator
' '           Text
'hn'          Name
','           Operator
'\n    '      Text
'exact'       Name
' '           Text
'subset.trans' Name
' '           Text
'h'           Name
' '           Text
'('           Operator
'subset_sUnion_of_mem' Name
' '           Text
'ha'          Name
')'           Operator
' '           Text
'}'           Operator
'\n'          Text

'end'         Keyword.Declaration
'\n\n'        Text

'private'     Keyword.Namespace
' '           Text
'lemma'       Keyword.Declaration
' '           Text
'chain_closure_succ_total' Name
' '           Text
'('           Operator
'hc₁'         Name
' '           Text
':'           Operator
' '           Text
'chain_closure' Name
' '           Text
'c₁'          Name
')'           Operator
' '           Text
'('           Operator
'hc₂'         Name
' '           Text
':'           Operator
' '           Text
'chain_closure' Name
' '           Text
'c₂'          Name
')'           Operator
' '           Text
'('           Operator
'h'           Name
' '           Text
':'           Operator
' '           Text
'c₁'          Name
' '           Text
'⊆'           Name.Builtin.Pseudo
' '           Text
'c₂'          Name
')'           Operator
' '           Text
':'           Operator
'\n  '        Text
'c₂'          Name
' '           Text
'='           Name.Builtin.Pseudo
' '           Text
'c₁'          Name
' '           Text
'∨'           Name.Builtin.Pseudo
' '           Text
'succ_chain'  Name
' '           Text
'c₁'          Name
' '           Text
'⊆'           Name.Builtin.Pseudo
' '           Text
'c₂'          Name
' '           Text
':='          Operator
'\n'          Text

'begin'       Keyword.Declaration
'\n  '        Text
'induction'   Name
' '           Text
'hc₂'         Name
' '           Text
'generalizing' Name
' '           Text
'c₁'          Name
' '           Text
'hc₁'         Name
' '           Text
'h'           Name
','           Operator
'\n  '        Text
'case'        Name
' '           Text
'_root_.zorn.chain_closure.succ' Name
' '           Text
'c₂'          Name
' '           Text
'hc₂'         Name
' '           Text
'ih'          Name
' '           Text
'{'           Operator
'\n    '      Text
'have'        Keyword
' '           Text
'h₁'          Name
' '           Text
':'           Operator
' '           Text
'c₁'          Name
' '           Text
'⊆'           Name.Builtin.Pseudo
' '           Text
'c₂'          Name
' '           Text
'∨'           Name.Builtin.Pseudo
' '           Text
'@'           Name.Builtin.Pseudo
'succ_chain'  Name
' '           Text
'α'           Name
' '           Text
'r'           Name
' '           Text
'c₂'          Name
' '           Text
'⊆'           Name.Builtin.Pseudo
' '           Text
'c₁'          Name
' '           Text
':='          Operator
'\n      '    Text
'('           Operator
'chain_closure_succ_total_aux' Name
' '           Text
'hc₁'         Name
' '           Text
'hc₂'         Name
' '           Text
'$'           Name.Builtin.Pseudo
' '           Text
'assume'      Keyword
' '           Text
'c₁'          Name
','           Operator
' '           Text
'ih'          Name
')'           Operator
','           Operator
'\n    '      Text
'cases'       Name
' '           Text
'h₁'          Name
' '           Text
'with'        Keyword
' '           Text
'h₁'          Name
' '           Text
'h₁'          Name
','           Operator
'\n    '      Text
'{'           Operator
' '           Text
'have'        Keyword
' '           Text
'h₂'          Name
' '           Text
':='          Operator
' '           Text
'ih'          Name
' '           Text
'hc₁'         Name
' '           Text
'h₁'          Name
','           Operator
'\n      '    Text
'cases'       Name
' '           Text
'h₂'          Name
' '           Text
'with'        Keyword
' '           Text
'h₂'          Name
' '           Text
'h₂'          Name
','           Operator
'\n      '    Text
'{'           Operator
' '           Text
'exact'       Name
' '           Text
'('           Operator
'or.inr'      Name
' '           Text
'$'           Name.Builtin.Pseudo
' '           Text
'h₂'          Name
' '           Text
'▸'           Name.Builtin.Pseudo
' '           Text
'subset.refl' Name
' '           Text
'_'           Name
')'           Operator
' '           Text
'}'           Operator
','           Operator
'\n      '    Text
'{'           Operator
' '           Text
'exact'       Name
' '           Text
'('           Operator
'or.inr'      Name
' '           Text
'$'           Name.Builtin.Pseudo
' '           Text
'subset.trans' Name
' '           Text
'h₂'          Name
' '           Text
'succ_increasing' Name
')'           Operator
' '           Text
'}'           Operator
' '           Text
'}'           Operator
','           Operator
'\n    '      Text
'{'           Operator
' '           Text
'exact'       Name
' '           Text
'('           Operator
'or.inl'      Name
' '           Text
'$'           Name.Builtin.Pseudo
' '           Text
'subset.antisymm' Name
' '           Text
'h₁'          Name
' '           Text
'h'           Name
')'           Operator
' '           Text
'}'           Operator
' '           Text
'}'           Operator
','           Operator
'\n  '        Text
'case'        Name
' '           Text
'_root_.zorn.chain_closure.union' Name
' '           Text
's'           Name
' '           Text
'hs'          Name
' '           Text
'ih'          Name
' '           Text
'{'           Operator
'\n    '      Text
'apply'       Name
' '           Text
'or.imp'      Name
' '           Text
'('           Operator
'assume'      Keyword
' '           Text
"h'"          Name
','           Operator
' '           Text
'subset.antisymm' Name
' '           Text
"h'"          Name
' '           Text
'h'           Name
')'           Operator
' '           Text
'id'          Name
','           Operator
'\n    '      Text
'apply'       Name
' '           Text
'classical.by_contradiction' Name
','           Operator
'\n    '      Text
'simp'        Name
' '           Text
'['           Operator
'not_or_iff'  Name
','           Operator
' '           Text
'sUnion_subset_iff' Name
','           Operator
' '           Text
'classical.not_forall_iff' Name
','           Operator
' '           Text
'not_implies_iff' Name
']'           Operator
','           Operator
'\n    '      Text
'intro'       Name
' '           Text
'h'           Name
','           Operator
' '           Text
'cases'       Name
' '           Text
'h'           Name
' '           Text
'with'        Keyword
' '           Text
'h₁'          Name
' '           Text
'h₂'          Name
','           Operator
' '           Text
'cases'       Name
' '           Text
'h₂'          Name
' '           Text
'with'        Keyword
' '           Text
'c₃'          Name
' '           Text
'h₂'          Name
','           Operator
' '           Text
'cases'       Name
' '           Text
'h₂'          Name
' '           Text
'with'        Keyword
' '           Text
'h₂'          Name
' '           Text
'hc₃'         Name
','           Operator
'\n    '      Text
'have'        Keyword
' '           Text
'h'           Name
' '           Text
':='          Operator
' '           Text
'chain_closure_succ_total_aux' Name
' '           Text
'hc₁'         Name
' '           Text
'('           Operator
'hs'          Name
' '           Text
'c₃'          Name
' '           Text
'hc₃'         Name
')'           Operator
' '           Text
'('           Operator
'assume'      Keyword
' '           Text
'c₄'          Name
','           Operator
' '           Text
'ih'          Name
' '           Text
'_'           Name
' '           Text
'hc₃'         Name
')'           Operator
','           Operator
'\n    '      Text
'cases'       Name
' '           Text
'h'           Name
' '           Text
'with'        Keyword
' '           Text
'h'           Name
' '           Text
'h'           Name
','           Operator
'\n    '      Text
'{'           Operator
' '           Text
'have'        Keyword
' '           Text
"h'"          Name
' '           Text
':='          Operator
' '           Text
'ih'          Name
' '           Text
'c₃'          Name
' '           Text
'hc₃'         Name
' '           Text
'hc₁'         Name
' '           Text
'h'           Name
','           Operator
'\n      '    Text
'cases'       Name
' '           Text
"h'"          Name
' '           Text
'with'        Keyword
' '           Text
"h'"          Name
' '           Text
"h'"          Name
','           Operator
'\n      '    Text
'{'           Operator
' '           Text
'exact'       Name
' '           Text
'('           Operator
'h₂'          Name
' '           Text
'$'           Name.Builtin.Pseudo
' '           Text
"h'"          Name
' '           Text
'▸'           Name.Builtin.Pseudo
' '           Text
'subset.refl' Name
' '           Text
'_'           Name
')'           Operator
' '           Text
'}'           Operator
','           Operator
'\n      '    Text
'{'           Operator
' '           Text
'exact'       Name
' '           Text
'('           Operator
'h₁'          Name
' '           Text
'$'           Name.Builtin.Pseudo
' '           Text
'subset.trans' Name
' '           Text
"h'"          Name
' '           Text
'$'           Name.Builtin.Pseudo
' '           Text
'subset_sUnion_of_mem' Name
' '           Text
'hc₃'         Name
')'           Operator
' '           Text
'}'           Operator
' '           Text
'}'           Operator
','           Operator
'\n    '      Text
'{'           Operator
' '           Text
'exact'       Name
' '           Text
'('           Operator
'h₂'          Name
' '           Text
'$'           Name.Builtin.Pseudo
' '           Text
'subset.trans' Name
' '           Text
'succ_increasing' Name
' '           Text
'h'           Name
')'           Operator
' '           Text
'}'           Operator
' '           Text
'}'           Operator
'\n'          Text

'end'         Keyword.Declaration
'\n\n'        Text

'theorem'     Keyword.Declaration
' '           Text
'chain_closure_total' Name
' '           Text
'('           Operator
'hc₁'         Name
' '           Text
':'           Operator
' '           Text
'chain_closure' Name
' '           Text
'c₁'          Name
')'           Operator
' '           Text
'('           Operator
'hc₂'         Name
' '           Text
':'           Operator
' '           Text
'chain_closure' Name
' '           Text
'c₂'          Name
')'           Operator
' '           Text
':'           Operator
' '           Text
'c₁'          Name
' '           Text
'⊆'           Name.Builtin.Pseudo
' '           Text
'c₂'          Name
' '           Text
'∨'           Name.Builtin.Pseudo
' '           Text
'c₂'          Name
' '           Text
'⊆'           Name.Builtin.Pseudo
' '           Text
'c₁'          Name
' '           Text
':='          Operator
'\n'          Text

'have'        Keyword
' '           Text
'c₁'          Name
' '           Text
'⊆'           Name.Builtin.Pseudo
' '           Text
'c₂'          Name
' '           Text
'∨'           Name.Builtin.Pseudo
' '           Text
'succ_chain'  Name
' '           Text
'c₂'          Name
' '           Text
'⊆'           Name.Builtin.Pseudo
' '           Text
'c₁'          Name
','           Operator
'\n  '        Text
'from'        Keyword
' '           Text
'chain_closure_succ_total_aux' Name
' '           Text
'hc₁'         Name
' '           Text
'hc₂'         Name
' '           Text
'$'           Name.Builtin.Pseudo
' '           Text
'assume'      Keyword
' '           Text
'c₃'          Name
' '           Text
'hc₃'         Name
','           Operator
' '           Text
'chain_closure_succ_total' Name
' '           Text
'hc₃'         Name
' '           Text
'hc₂'         Name
','           Operator
'\n'          Text

'or.imp_right' Name
' '           Text
'('           Operator
'assume'      Keyword
' '           Text
':'           Operator
' '           Text
'succ_chain'  Name
' '           Text
'c₂'          Name
' '           Text
'⊆'           Name.Builtin.Pseudo
' '           Text
'c₁'          Name
','           Operator
' '           Text
'subset.trans' Name
' '           Text
'succ_increasing' Name
' '           Text
'this'        Name
')'           Operator
' '           Text
'this'        Name
'\n\n'        Text

'theorem'     Keyword.Declaration
' '           Text
'chain_closure_succ_fixpoint' Name
' '           Text
'('           Operator
'hc₁'         Name
' '           Text
':'           Operator
' '           Text
'chain_closure' Name
' '           Text
'c₁'          Name
')'           Operator
' '           Text
'('           Operator
'hc₂'         Name
' '           Text
':'           Operator
' '           Text
'chain_closure' Name
' '           Text
'c₂'          Name
')'           Operator
'\n  '        Text
'('           Operator
'h_eq'        Name
' '           Text
':'           Operator
' '           Text
'succ_chain'  Name
' '           Text
'c₂'          Name
' '           Text
'='           Name.Builtin.Pseudo
' '           Text
'c₂'          Name
')'           Operator
' '           Text
':'           Operator
' '           Text
'c₁'          Name
' '           Text
'⊆'           Name.Builtin.Pseudo
' '           Text
'c₂'          Name
' '           Text
':='          Operator
'\n'          Text

'begin'       Keyword.Declaration
'\n  '        Text
'induction'   Name
' '           Text
'hc₁'         Name
','           Operator
'\n  '        Text
'case'        Name
' '           Text
'_root_.zorn.chain_closure.succ' Name
' '           Text
'c₁'          Name
' '           Text
'hc₁'         Name
' '           Text
'h'           Name
' '           Text
'{'           Operator
'\n    '      Text
'exact'       Name
' '           Text
'or.elim'     Name
' '           Text
'('           Operator
'chain_closure_succ_total' Name
' '           Text
'hc₁'         Name
' '           Text
'hc₂'         Name
' '           Text
'h'           Name
')'           Operator
'\n      '    Text
'('           Operator
'assume'      Keyword
' '           Text
'h'           Name
','           Operator
' '           Text
'h'           Name
' '           Text
'▸'           Name.Builtin.Pseudo
' '           Text
'h_eq.symm'   Name
' '           Text
'▸'           Name.Builtin.Pseudo
' '           Text
'subset.refl' Name
' '           Text
'c₂'          Name
')'           Operator
' '           Text
'id'          Name
' '           Text
'}'           Operator
','           Operator
'\n  '        Text
'case'        Name
' '           Text
'_root_.zorn.chain_closure.union' Name
' '           Text
's'           Name
' '           Text
'hs'          Name
' '           Text
'ih'          Name
' '           Text
'{'           Operator
'\n    '      Text
'exact'       Name
' '           Text
'('           Operator
'sUnion_subset' Name
' '           Text
'$'           Name.Builtin.Pseudo
' '           Text
'assume'      Keyword
' '           Text
'c₁'          Name
' '           Text
'hc₁'         Name
','           Operator
' '           Text
'ih'          Name
' '           Text
'c₁'          Name
' '           Text
'hc₁'         Name
')'           Operator
' '           Text
'}'           Operator
'\n'          Text

'end'         Keyword.Declaration
'\n\n'        Text

'theorem'     Keyword.Declaration
' '           Text
'chain_closure_succ_fixpoint_iff' Name
' '           Text
'('           Operator
'hc'          Name
' '           Text
':'           Operator
' '           Text
'chain_closure' Name
' '           Text
'c'           Name
')'           Operator
' '           Text
':'           Operator
'\n  '        Text
'succ_chain'  Name
' '           Text
'c'           Name
' '           Text
'='           Name.Builtin.Pseudo
' '           Text
'c'           Name
' '           Text
'↔'           Name.Builtin.Pseudo
' '           Text
'c'           Name
' '           Text
'='           Name.Builtin.Pseudo
' '           Text
'⋃'           Name.Builtin.Pseudo
'₀'           Name.Builtin.Pseudo
' '           Text
'chain_closure' Name
' '           Text
':='          Operator
'\n'          Text

'⟨'           Operator
'assume'      Keyword
' '           Text
'h'           Name
','           Operator
' '           Text
'subset.antisymm' Name
'\n    '      Text
'('           Operator
'subset_sUnion_of_mem' Name
' '           Text
'hc'          Name
')'           Operator
'\n    '      Text
'('           Operator
'chain_closure_succ_fixpoint' Name
' '           Text
'chain_closure_closure' Name
' '           Text
'hc'          Name
' '           Text
'h'           Name
')'           Operator
','           Operator
'\n  '        Text
'assume'      Keyword
' '           Text
':'           Operator
' '           Text
'c'           Name
' '           Text
'='           Name.Builtin.Pseudo
' '           Text
'⋃'           Name.Builtin.Pseudo
'₀'           Name.Builtin.Pseudo
'{'           Operator
'c'           Name
' '           Text
':'           Operator
' '           Text
'set'         Name
' '           Text
'α'           Name
' '           Text
'|'           Name.Builtin.Pseudo
' '           Text
'chain_closure' Name
' '           Text
'c'           Name
'}'           Operator
','           Operator
'\n  '        Text
'subset.antisymm' Name
'\n    '      Text
'('           Operator
'calc'        Keyword
' '           Text
'succ_chain'  Name
' '           Text
'c'           Name
' '           Text
'⊆'           Name.Builtin.Pseudo
' '           Text
'⋃'           Name.Builtin.Pseudo
'₀'           Name.Builtin.Pseudo
'{'           Operator
'c'           Name
' '           Text
':'           Operator
' '           Text
'set'         Name
' '           Text
'α'           Name
' '           Text
'|'           Name.Builtin.Pseudo
' '           Text
'chain_closure' Name
' '           Text
'c'           Name
'}'           Operator
' '           Text
':'           Operator
'\n        '  Text
'subset_sUnion_of_mem' Name
' '           Text
'$'           Name.Builtin.Pseudo
' '           Text
'chain_closure.succ' Name
' '           Text
'hc'          Name
'\n      '    Text
'.'           Name.Builtin.Pseudo
'.'           Name.Builtin.Pseudo
'.'           Name.Builtin.Pseudo
' '           Text
'='           Name.Builtin.Pseudo
' '           Text
'c'           Name
' '           Text
':'           Operator
' '           Text
'this.symm'   Name
')'           Operator
'\n    '      Text
'succ_increasing' Name
'⟩'           Operator
'\n\n'        Text

'theorem'     Keyword.Declaration
' '           Text
'chain_chain_closure' Name
' '           Text
'('           Operator
'hc'          Name
' '           Text
':'           Operator
' '           Text
'chain_closure' Name
' '           Text
'c'           Name
')'           Operator
' '           Text
':'           Operator
' '           Text
'chain'       Name
' '           Text
'c'           Name
' '           Text
':='          Operator
'\n'          Text

'begin'       Keyword.Declaration
'\n  '        Text
'induction'   Name
' '           Text
'hc'          Name
','           Operator
'\n  '        Text
'case'        Name
' '           Text
'_root_.zorn.chain_closure.succ' Name
' '           Text
'c'           Name
' '           Text
'hc'          Name
' '           Text
'h'           Name
' '           Text
'{'           Operator
'\n    '      Text
'exact'       Name
' '           Text
'chain_succ'  Name
' '           Text
'h'           Name
' '           Text
'}'           Operator
','           Operator
'\n  '        Text
'case'        Name
' '           Text
'_root_.zorn.chain_closure.union' Name
' '           Text
's'           Name
' '           Text
'hs'          Name
' '           Text
'h'           Name
' '           Text
'{'           Operator
'\n    '      Text
'have'        Keyword
' '           Text
'h'           Name
' '           Text
':'           Operator
' '           Text
'∀'           Name.Builtin.Pseudo
'c'           Name
'∈'           Name.Builtin.Pseudo
's'           Name
','           Operator
' '           Text
'zorn.chain'  Name
' '           Text
'c'           Name
' '           Text
':='          Operator
' '           Text
'h'           Name
','           Operator
'\n    '      Text
'exact'       Name
' '           Text
'assume'      Keyword
' '           Text
'c₁'          Name
' '           Text
'⟨'           Operator
't₁'          Name
','           Operator
' '           Text
'ht₁'         Name
','           Operator
' '           Text
'('           Operator
'hc₁'         Name
' '           Text
':'           Operator
' '           Text
'c₁'          Name
' '           Text
'∈'           Name.Builtin.Pseudo
' '           Text
't₁'          Name
')'           Operator
'⟩'           Operator
' '           Text
'c₂'          Name
' '           Text
'⟨'           Operator
't₂'          Name
','           Operator
' '           Text
'ht₂'         Name
','           Operator
' '           Text
'('           Operator
'hc₂'         Name
' '           Text
':'           Operator
' '           Text
'c₂'          Name
' '           Text
'∈'           Name.Builtin.Pseudo
' '           Text
't₂'          Name
')'           Operator
'⟩'           Operator
' '           Text
'hneq'        Name
','           Operator
'\n      '    Text
'have'        Keyword
' '           Text
't₁'          Name
' '           Text
'⊆'           Name.Builtin.Pseudo
' '           Text
't₂'          Name
' '           Text
'∨'           Name.Builtin.Pseudo
' '           Text
't₂'          Name
' '           Text
'⊆'           Name.Builtin.Pseudo
' '           Text
't₁'          Name
','           Operator
' '           Text
'from'        Keyword
' '           Text
'chain_closure_total' Name
' '           Text
'('           Operator
'hs'          Name
' '           Text
'_'           Name
' '           Text
'ht₁'         Name
')'           Operator
' '           Text
'('           Operator
'hs'          Name
' '           Text
'_'           Name
' '           Text
'ht₂'         Name
')'           Operator
','           Operator
'\n      '    Text
'or.elim'     Name
' '           Text
'this'        Name
'\n        '  Text
'('           Operator
'assume'      Keyword
' '           Text
':'           Operator
' '           Text
't₁'          Name
' '           Text
'⊆'           Name.Builtin.Pseudo
' '           Text
't₂'          Name
','           Operator
' '           Text
'h'           Name
' '           Text
't₂'          Name
' '           Text
'ht₂'         Name
' '           Text
'c₁'          Name
' '           Text
'('           Operator
'this'        Name
' '           Text
'hc₁'         Name
')'           Operator
' '           Text
'c₂'          Name
' '           Text
'hc₂'         Name
' '           Text
'hneq'        Name
')'           Operator
'\n        '  Text
'('           Operator
'assume'      Keyword
' '           Text
':'           Operator
' '           Text
't₂'          Name
' '           Text
'⊆'           Name.Builtin.Pseudo
' '           Text
't₁'          Name
','           Operator
' '           Text
'h'           Name
' '           Text
't₁'          Name
' '           Text
'ht₁'         Name
' '           Text
'c₁'          Name
' '           Text
'hc₁'         Name
' '           Text
'c₂'          Name
' '           Text
'('           Operator
'this'        Name
' '           Text
'hc₂'         Name
')'           Operator
' '           Text
'hneq'        Name
')'           Operator
' '           Text
'}'           Operator
'\n'          Text

'end'         Keyword.Declaration
'\n\n'        Text

'def'         Keyword.Declaration
' '           Text
'max_chain'   Name
' '           Text
':='          Operator
' '           Text
'⋃'           Name.Builtin.Pseudo
'₀'           Name.Builtin.Pseudo
' '           Text
'chain_closure' Name
'\n\n'        Text

'/--'         Literal.String.Doc
' '           Literal.String.Doc
'H'           Literal.String.Doc
'a'           Literal.String.Doc
'u'           Literal.String.Doc
's'           Literal.String.Doc
'd'           Literal.String.Doc
'o'           Literal.String.Doc
'r'           Literal.String.Doc
'f'           Literal.String.Doc
'f'           Literal.String.Doc
"'"           Literal.String.Doc
's'           Literal.String.Doc
' '           Literal.String.Doc
'm'           Literal.String.Doc
'a'           Literal.String.Doc
'x'           Literal.String.Doc
'i'           Literal.String.Doc
'm'           Literal.String.Doc
'a'           Literal.String.Doc
'l'           Literal.String.Doc
'i'           Literal.String.Doc
't'           Literal.String.Doc
'y'           Literal.String.Doc
' '           Literal.String.Doc
'p'           Literal.String.Doc
'r'           Literal.String.Doc
'i'           Literal.String.Doc
'n'           Literal.String.Doc
'c'           Literal.String.Doc
'i'           Literal.String.Doc
'p'           Literal.String.Doc
'l'           Literal.String.Doc
'e'           Literal.String.Doc
'\n'          Literal.String.Doc

'\n'          Literal.String.Doc

'T'           Literal.String.Doc
'h'           Literal.String.Doc
'e'           Literal.String.Doc
'r'           Literal.String.Doc
'e'           Literal.String.Doc
' '           Literal.String.Doc
'e'           Literal.String.Doc
'x'           Literal.String.Doc
'i'           Literal.String.Doc
's'           Literal.String.Doc
't'           Literal.String.Doc
's'           Literal.String.Doc
' '           Literal.String.Doc
'a'           Literal.String.Doc
' '           Literal.String.Doc
'm'           Literal.String.Doc
'a'           Literal.String.Doc
'x'           Literal.String.Doc
'i'           Literal.String.Doc
'm'           Literal.String.Doc
'a'           Literal.String.Doc
'l'           Literal.String.Doc
' '           Literal.String.Doc
't'           Literal.String.Doc
'o'           Literal.String.Doc
't'           Literal.String.Doc
'a'           Literal.String.Doc
'l'           Literal.String.Doc
'l'           Literal.String.Doc
'y'           Literal.String.Doc
' '           Literal.String.Doc
'o'           Literal.String.Doc
'r'           Literal.String.Doc
'd'           Literal.String.Doc
'e'           Literal.String.Doc
'r'           Literal.String.Doc
'e'           Literal.String.Doc
'd'           Literal.String.Doc
' '           Literal.String.Doc
's'           Literal.String.Doc
'u'           Literal.String.Doc
'b'           Literal.String.Doc
's'           Literal.String.Doc
'e'           Literal.String.Doc
't'           Literal.String.Doc
' '           Literal.String.Doc
'o'           Literal.String.Doc
'f'           Literal.String.Doc
' '           Literal.String.Doc
'`'           Literal.String.Doc
'α'           Literal.String.Doc
'`'           Literal.String.Doc
'.'           Literal.String.Doc
'\n'          Literal.String.Doc

'N'           Literal.String.Doc
'o'           Literal.String.Doc
't'           Literal.String.Doc
'e'           Literal.String.Doc
' '           Literal.String.Doc
't'           Literal.String.Doc
'h'           Literal.String.Doc
'a'           Literal.String.Doc
't'           Literal.String.Doc
' '           Literal.String.Doc
'w'           Literal.String.Doc
'e'           Literal.String.Doc
' '           Literal.String.Doc
'd'           Literal.String.Doc
'o'           Literal.String.Doc
' '           Literal.String.Doc
'n'           Literal.String.Doc
'o'           Literal.String.Doc
't'           Literal.String.Doc
' '           Literal.String.Doc
'r'           Literal.String.Doc
'e'           Literal.String.Doc
'q'           Literal.String.Doc
'u'           Literal.String.Doc
'i'           Literal.String.Doc
'r'           Literal.String.Doc
'e'           Literal.String.Doc
' '           Literal.String.Doc
'`'           Literal.String.Doc
'α'           Literal.String.Doc
'`'           Literal.String.Doc
' '           Literal.String.Doc
't'           Literal.String.Doc
'o'           Literal.String.Doc
' '           Literal.String.Doc
'b'           Literal.String.Doc
'e'           Literal.String.Doc
' '           Literal.String.Doc
'p'           Literal.String.Doc
'a'           Literal.String.Doc
'r'           Literal.String.Doc
't'           Literal.String.Doc
'i'           Literal.String.Doc
'a'           Literal.String.Doc
'l'           Literal.String.Doc
'l'           Literal.String.Doc
'y'           Literal.String.Doc
' '           Literal.String.Doc
'o'           Literal.String.Doc
'r'           Literal.String.Doc
'd'           Literal.String.Doc
'e'           Literal.String.Doc
'r'           Literal.String.Doc
'e'           Literal.String.Doc
'd'           Literal.String.Doc
' '           Literal.String.Doc
'b'           Literal.String.Doc
'y'           Literal.String.Doc
' '           Literal.String.Doc
'`'           Literal.String.Doc
'r'           Literal.String.Doc
'`'           Literal.String.Doc
'.'           Literal.String.Doc
' '           Literal.String.Doc
'-/'          Literal.String.Doc
'\n'          Text

'theorem'     Keyword.Declaration
' '           Text
'max_chain_spec' Name
' '           Text
':'           Operator
' '           Text
'is_max_chain' Name
' '           Text
'max_chain'   Name
' '           Text
':='          Operator
'\n'          Text

'classical.by_contradiction' Name
' '           Text
'$'           Name.Builtin.Pseudo
'\n'          Text

'assume'      Keyword
' '           Text
':'           Operator
' '           Text
'¬'           Name.Builtin.Pseudo
' '           Text
'is_max_chain' Name
' '           Text
'('           Operator
'⋃'           Name.Builtin.Pseudo
'₀'           Name.Builtin.Pseudo
' '           Text
'chain_closure' Name
')'           Operator
','           Operator
'\n'          Text

'have'        Keyword
' '           Text
'super_chain' Name
' '           Text
'('           Operator
'⋃'           Name.Builtin.Pseudo
'₀'           Name.Builtin.Pseudo
' '           Text
'chain_closure' Name
')'           Operator
' '           Text
'('           Operator
'succ_chain'  Name
' '           Text
'('           Operator
'⋃'           Name.Builtin.Pseudo
'₀'           Name.Builtin.Pseudo
' '           Text
'chain_closure' Name
')'           Operator
')'           Operator
','           Operator
'\n  '        Text
'from'        Keyword
' '           Text
'super_of_not_max' Name
' '           Text
'('           Operator
'chain_chain_closure' Name
' '           Text
'chain_closure_closure' Name
')'           Operator
' '           Text
'this'        Name
','           Operator
'\n'          Text

'let'         Keyword
' '           Text
'⟨'           Operator
'h₁'          Name
','           Operator
' '           Text
'h₂'          Name
','           Operator
' '           Text
'('           Operator
'h₃'          Name
' '           Text
':'           Operator
' '           Text
'('           Operator
'⋃'           Name.Builtin.Pseudo
'₀'           Name.Builtin.Pseudo
' '           Text
'chain_closure' Name
')'           Operator
' '           Text
'≠'           Name.Builtin.Pseudo
' '           Text
'succ_chain'  Name
' '           Text
'('           Operator
'⋃'           Name.Builtin.Pseudo
'₀'           Name.Builtin.Pseudo
' '           Text
'chain_closure' Name
')'           Operator
')'           Operator
'⟩'           Operator
' '           Text
':='          Operator
' '           Text
'this'        Name
' '           Text
'in'          Keyword
'\n'          Text

'have'        Keyword
' '           Text
'succ_chain'  Name
' '           Text
'('           Operator
'⋃'           Name.Builtin.Pseudo
'₀'           Name.Builtin.Pseudo
' '           Text
'chain_closure' Name
')'           Operator
' '           Text
'='           Name.Builtin.Pseudo
' '           Text
'('           Operator
'⋃'           Name.Builtin.Pseudo
'₀'           Name.Builtin.Pseudo
' '           Text
'chain_closure' Name
')'           Operator
','           Operator
'\n  '        Text
'from'        Keyword
' '           Text
'('           Operator
'chain_closure_succ_fixpoint_iff' Name
' '           Text
'chain_closure_closure' Name
')'           Operator
'.'           Name.Builtin.Pseudo
'mpr'         Name
' '           Text
'rfl'         Name
','           Operator
'\n'          Text

'h₃'          Name
' '           Text
'this.symm'   Name
'\n\n'        Text

'/--'         Literal.String.Doc
' '           Literal.String.Doc
'Z'           Literal.String.Doc
'o'           Literal.String.Doc
'r'           Literal.String.Doc
'n'           Literal.String.Doc
"'"           Literal.String.Doc
's'           Literal.String.Doc
' '           Literal.String.Doc
'l'           Literal.String.Doc
'e'           Literal.String.Doc
'm'           Literal.String.Doc
'm'           Literal.String.Doc
'a'           Literal.String.Doc
'\n'          Literal.String.Doc

'\n'          Literal.String.Doc

'I'           Literal.String.Doc
'f'           Literal.String.Doc
' '           Literal.String.Doc
'e'           Literal.String.Doc
'v'           Literal.String.Doc
'e'           Literal.String.Doc
'r'           Literal.String.Doc
'y'           Literal.String.Doc
' '           Literal.String.Doc
'c'           Literal.String.Doc
'h'           Literal.String.Doc
'a'           Literal.String.Doc
'i'           Literal.String.Doc
'n'           Literal.String.Doc
' '           Literal.String.Doc
'h'           Literal.String.Doc
'a'           Literal.String.Doc
's'           Literal.String.Doc
' '           Literal.String.Doc
'a'           Literal.String.Doc
'n'           Literal.String.Doc
' '           Literal.String.Doc
'u'           Literal.String.Doc
'p'           Literal.String.Doc
'p'           Literal.String.Doc
'e'           Literal.String.Doc
'r'           Literal.String.Doc
' '           Literal.String.Doc
'b'           Literal.String.Doc
'o'           Literal.String.Doc
'u'           Literal.String.Doc
'n'           Literal.String.Doc
'd'           Literal.String.Doc
','           Literal.String.Doc
' '           Literal.String.Doc
't'           Literal.String.Doc
'h'           Literal.String.Doc
'e'           Literal.String.Doc
'n'           Literal.String.Doc
' '           Literal.String.Doc
't'           Literal.String.Doc
'h'           Literal.String.Doc
'e'           Literal.String.Doc
'r'           Literal.String.Doc
'e'           Literal.String.Doc
' '           Literal.String.Doc
'i'           Literal.String.Doc
's'           Literal.String.Doc
' '           Literal.String.Doc
'a'           Literal.String.Doc
' '           Literal.String.Doc
'm'           Literal.String.Doc
'a'           Literal.String.Doc
'x'           Literal.String.Doc
'i'           Literal.String.Doc
'm'           Literal.String.Doc
'a'           Literal.String.Doc
'l'           Literal.String.Doc
' '           Literal.String.Doc
'e'           Literal.String.Doc
'l'           Literal.String.Doc
'e'           Literal.String.Doc
'm'           Literal.String.Doc
'e'           Literal.String.Doc
'n'           Literal.String.Doc
't'           Literal.String.Doc
' '           Literal.String.Doc
'-/'          Literal.String.Doc
'\n'          Text

'theorem'     Keyword.Declaration
' '           Text
'zorn'        Name
' '           Text
'('           Operator
'h'           Name
' '           Text
':'           Operator
' '           Text
'∀'           Name.Builtin.Pseudo
'c'           Name
','           Operator
' '           Text
'chain'       Name
' '           Text
'c'           Name
' '           Text
'→'           Name.Builtin.Pseudo
' '           Text
'∃'           Name.Builtin.Pseudo
'ub'          Name
','           Operator
' '           Text
'∀'           Name.Builtin.Pseudo
'a'           Name
'∈'           Name.Builtin.Pseudo
'c'           Name
','           Operator
' '           Text
'a'           Name
' '           Text
'≺'           Name.Builtin.Pseudo
' '           Text
'ub'          Name
')'           Operator
' '           Text
'('           Operator
'trans'       Name
' '           Text
':'           Operator
' '           Text
'∀'           Name.Builtin.Pseudo
'{'           Operator
'a'           Name
' '           Text
'b'           Name
' '           Text
'c'           Name
'}'           Operator
','           Operator
' '           Text
'a'           Name
' '           Text
'≺'           Name.Builtin.Pseudo
' '           Text
'b'           Name
' '           Text
'→'           Name.Builtin.Pseudo
' '           Text
'b'           Name
' '           Text
'≺'           Name.Builtin.Pseudo
' '           Text
'c'           Name
' '           Text
'→'           Name.Builtin.Pseudo
' '           Text
'a'           Name
' '           Text
'≺'           Name.Builtin.Pseudo
' '           Text
'c'           Name
')'           Operator
' '           Text
':'           Operator
'\n  '        Text
'∃'           Name.Builtin.Pseudo
'm'           Name
','           Operator
' '           Text
'∀'           Name.Builtin.Pseudo
'a'           Name
','           Operator
' '           Text
'm'           Name
' '           Text
'≺'           Name.Builtin.Pseudo
' '           Text
'a'           Name
' '           Text
'→'           Name.Builtin.Pseudo
' '           Text
'a'           Name
' '           Text
'≺'           Name.Builtin.Pseudo
' '           Text
'm'           Name
' '           Text
':='          Operator
'\n'          Text

'have'        Keyword
' '           Text
'∃'           Name.Builtin.Pseudo
'ub'          Name
','           Operator
' '           Text
'∀'           Name.Builtin.Pseudo
'a'           Name
'∈'           Name.Builtin.Pseudo
'max_chain'   Name
','           Operator
' '           Text
'a'           Name
' '           Text
'≺'           Name.Builtin.Pseudo
' '           Text
'ub'          Name
','           Operator
'\n  '        Text
'from'        Keyword
' '           Text
'h'           Name
' '           Text
'_'           Name
' '           Text
'$'           Name.Builtin.Pseudo
' '           Text
'max_chain_spec.left' Name
','           Operator
'\n'          Text

'let'         Keyword
' '           Text
'⟨'           Operator
'ub'          Name
','           Operator
' '           Text
'('           Operator
'hub'         Name
' '           Text
':'           Operator
' '           Text
'∀'           Name.Builtin.Pseudo
'a'           Name
'∈'           Name.Builtin.Pseudo
'max_chain'   Name
','           Operator
' '           Text
'a'           Name
' '           Text
'≺'           Name.Builtin.Pseudo
' '           Text
'ub'          Name
')'           Operator
'⟩'           Operator
' '           Text
':='          Operator
' '           Text
'this'        Name
' '           Text
'in'          Keyword
'\n'          Text

'⟨'           Operator
'ub'          Name
','           Operator
' '           Text
'assume'      Keyword
' '           Text
'a'           Name
' '           Text
'ha'          Name
','           Operator
'\n  '        Text
'have'        Keyword
' '           Text
'chain'       Name
' '           Text
'('           Operator
'insert'      Name
' '           Text
'a'           Name
' '           Text
'max_chain'   Name
')'           Operator
','           Operator
'\n    '      Text
'from'        Keyword
' '           Text
'chain_insert' Name
' '           Text
'max_chain_spec.left' Name
' '           Text
'$'           Name.Builtin.Pseudo
' '           Text
'assume'      Keyword
' '           Text
'b'           Name
' '           Text
'hb'          Name
' '           Text
'_'           Name
','           Operator
' '           Text
'or.inr'      Name
' '           Text
'$'           Name.Builtin.Pseudo
' '           Text
'trans'       Name
' '           Text
'('           Operator
'hub'         Name
' '           Text
'b'           Name
' '           Text
'hb'          Name
')'           Operator
' '           Text
'ha'          Name
','           Operator
'\n  '        Text
'have'        Keyword
' '           Text
'a'           Name
' '           Text
'∈'           Name.Builtin.Pseudo
' '           Text
'max_chain'   Name
','           Operator
' '           Text
'from'        Keyword
'\n    '      Text
'classical.by_contradiction' Name
' '           Text
'$'           Name.Builtin.Pseudo
' '           Text
'assume'      Keyword
' '           Text
'h'           Name
' '           Text
':'           Operator
' '           Text
'a'           Name
' '           Text
'∉'           Name.Builtin.Pseudo
' '           Text
'max_chain'   Name
','           Operator
'\n    '      Text
'max_chain_spec.right' Name
' '           Text
'$'           Name.Builtin.Pseudo
' '           Text
'⟨'           Operator
'insert'      Name
' '           Text
'a'           Name
' '           Text
'max_chain'   Name
','           Operator
' '           Text
'this'        Name
','           Operator
' '           Text
'ssubset_insert' Name
' '           Text
'h'           Name
'⟩'           Operator
','           Operator
'\n  '        Text
'hub'         Name
' '           Text
'a'           Name
' '           Text
'this'        Name
'⟩'           Operator
'\n\n'        Text

'end'         Keyword.Declaration
' '           Text
'chain'       Name
'\n\n'        Text

'theorem'     Keyword.Declaration
' '           Text
'zorn_weak_order' Name
' '           Text
'{'           Operator
'α'           Name
' '           Text
':'           Operator
' '           Text
'Type'        Keyword.Type
' '           Text
'u'           Name
'}'           Operator
' '           Text
'['           Operator
'weak_order'  Name
' '           Text
'α'           Name
']'           Operator
'\n  '        Text
'('           Operator
'h'           Name
' '           Text
':'           Operator
' '           Text
'∀'           Name.Builtin.Pseudo
'c'           Name
':'           Operator
'set'         Name
' '           Text
'α'           Name
','           Operator
' '           Text
'@'           Name.Builtin.Pseudo
'chain'       Name
' '           Text
'α'           Name
' '           Text
'('           Operator
'≤'           Name.Builtin.Pseudo
')'           Operator
' '           Text
'c'           Name
' '           Text
'→'           Name.Builtin.Pseudo
' '           Text
'∃'           Name.Builtin.Pseudo
'ub'          Name
','           Operator
' '           Text
'∀'           Name.Builtin.Pseudo
'a'           Name
'∈'           Name.Builtin.Pseudo
'c'           Name
','           Operator
' '           Text
'a'           Name
' '           Text
'≤'           Name.Builtin.Pseudo
' '           Text
'ub'          Name
')'           Operator
' '           Text
':'           Operator
' '           Text
'∃'           Name.Builtin.Pseudo
'm'           Name
':'           Operator
'α'           Name
','           Operator
' '           Text
'∀'           Name.Builtin.Pseudo
'a'           Name
','           Operator
' '           Text
'm'           Name
' '           Text
'≤'           Name.Builtin.Pseudo
' '           Text
'a'           Name
' '           Text
'→'           Name.Builtin.Pseudo
' '           Text
'a'           Name
' '           Text
'='           Name.Builtin.Pseudo
' '           Text
'm'           Name
' '           Text
':='          Operator
'\n'          Text

'let'         Keyword
' '           Text
'⟨'           Operator
'm'           Name
','           Operator
' '           Text
'hm'          Name
'⟩'           Operator
' '           Text
':='          Operator
' '           Text
'@'           Name.Builtin.Pseudo
'zorn'        Name
' '           Text
'α'           Name
' '           Text
'('           Operator
'≤'           Name.Builtin.Pseudo
')'           Operator
' '           Text
'h'           Name
' '           Text
'('           Operator
'assume'      Keyword
' '           Text
'a'           Name
' '           Text
'b'           Name
' '           Text
'c'           Name
','           Operator
' '           Text
'le_trans'    Name
')'           Operator
' '           Text
'in'          Keyword
'\n'          Text

'⟨'           Operator
'm'           Name
','           Operator
' '           Text
'assume'      Keyword
' '           Text
'a'           Name
' '           Text
'ha'          Name
','           Operator
' '           Text
'le_antisymm' Name
' '           Text
'('           Operator
'hm'          Name
' '           Text
'a'           Name
' '           Text
'ha'          Name
')'           Operator
' '           Text
'ha'          Name
'⟩'           Operator
'\n\n'        Text

'end'         Keyword.Declaration
' '           Text
'zorn'        Name
'\n'          Text
