[Elab.definition.body] «term_+++_» : Lean.TrailingParserDescr := Lean.ParserDescr.trailingNode (Lean.Name.mkStr1 "term_+++_") 45 46 (Lean.ParserDescr.binary (Lean.Name.mkStr1 "andthen") (Lean.ParserDescr.symbol "+++") (Lean.ParserDescr.cat (Lean.Name.mkStr1 "term") 46)) [Elab.definition.body] «_aux_ppNotationCode___macroRules_term_+++__1» : Lean.Macro := fun x => let discr := x; if Lean.Syntax.isOfKind discr (Lean.Name.mkStr1 "term_+++_") = true then let discr_1 := Lean.Syntax.getArg discr 0; let discr_2 := Lean.Syntax.getArg discr 1; let discr := Lean.Syntax.getArg discr 2; let rhs := { raw := discr }; let lhs := { raw := discr_1 }; do let info ← Lean.MonadRef.mkInfoFromRefPos let scp ← Lean.getCurrMacroScope let mainModule ← Lean.getMainModule pure { raw := Lean.Syntax.node info (Lean.Name.mkStr4 "Lean" "Parser" "Term" "app") (Array.mkArray2 (Lean.Syntax.ident info (String.toSubstring' "Nat.add") (Lean.addMacroScope mainModule (Lean.Name.mkStr2 "Nat" "add") scp) [Lean.Syntax.Preresolved.decl (Lean.Name.mkStr2 "Nat" "add") [], Lean.Syntax.Preresolved.namespace (Lean.Name.mkStr2 "Nat" "add")]) (Lean.Syntax.node info (Lean.Name.mkStr1 "null") (Array.mkArray2 lhs.raw rhs.raw))) }.raw else let discr := x; throw Lean.Macro.Exception.unsupportedSyntax [Elab.definition.body] _aux_ppNotationCode___unexpand_Nat_add_1 : Lean.PrettyPrinter.Unexpander := fun x => let discr := x; if Lean.Syntax.isOfKind discr (Lean.Name.mkStr4 "Lean" "Parser" "Term" "app") = true then let discr_1 := Lean.Syntax.getArg discr 0; bif false || Lean.Syntax.isOfKind discr_1 (Lean.Name.mkStr1 "ident") then let discr_2 := Lean.Syntax.getArg discr 1; if Lean.Syntax.matchesNull discr_2 2 = true then let discr := Lean.Syntax.getArg discr_2 0; let discr_3 := Lean.Syntax.getArg discr_2 1; let rhs := { raw := discr_3 }; let lhs := { raw := discr }; let f := { raw := discr_1 }; Lean.withRef f.raw do let info ← Lean.MonadRef.mkInfoFromRefPos let _ ← Lean.getCurrMacroScope let _ ← Lean.getMainModule pure { raw := Lean.Syntax.node info (Lean.Name.mkStr1 "term_+++_") (Array.mkArray3 lhs.raw (Lean.Syntax.atom info "+++") rhs.raw) }.raw else let discr := Lean.Syntax.getArg discr 1; throw () else let discr_2 := Lean.Syntax.getArg discr 0; if Lean.Syntax.isOfKind discr_2 (Lean.Name.mkStr4 "Lean" "Parser" "Term" "app") = true then let discr_3 := Lean.Syntax.getArg discr_2 0; bif false || Lean.Syntax.isOfKind discr_3 (Lean.Name.mkStr1 "ident") then let discr_4 := Lean.Syntax.getArg discr_2 1; if Lean.Syntax.matchesNull discr_4 2 = true then let discr_5 := Lean.Syntax.getArg discr_4 0; let discr_6 := Lean.Syntax.getArg discr_4 1; let discr := Lean.Syntax.getArg discr 1; let moreArgs := Lean.TSyntaxArray.mk (Lean.Syntax.getArgs discr); let rhs := { raw := discr_6 }; let lhs := { raw := discr_5 }; let f := { raw := discr_3 }; Lean.withRef f.raw do let info ← Lean.MonadRef.mkInfoFromRefPos let _ ← Lean.getCurrMacroScope let _ ← Lean.getMainModule pure { raw := Lean.Syntax.node info (Lean.Name.mkStr4 "Lean" "Parser" "Term" "app") (Array.mkArray2 (Lean.Syntax.node info (Lean.Name.mkStr1 "term_+++_") (Array.mkArray3 lhs.raw (Lean.Syntax.atom info "+++") rhs.raw)) (Lean.Syntax.node info (Lean.Name.mkStr1 "null") (Array.append Array.mkArray0 (Lean.TSyntaxArray.raw moreArgs)))) }.raw else let discr_5 := Lean.Syntax.getArg discr_2 1; let discr := Lean.Syntax.getArg discr 1; throw () else let discr_4 := Lean.Syntax.getArg discr_2 0; let discr_5 := Lean.Syntax.getArg discr_2 1; let discr := Lean.Syntax.getArg discr 1; throw () else let discr_3 := Lean.Syntax.getArg discr 0; let discr := Lean.Syntax.getArg discr 1; throw () else let discr := x; throw ()