lean4-htt/tests/lean/Delaborator.lean.expected.out
Sebastian Ullrich fcdbdeecaf feat: delaborator: use implicit lambdas where possible
/cc @leodemoura it's not bullet-proof (unless `pp.explicit` is set), but let's
see if it is good enough in practice
2020-03-27 14:55:46 +01:00

102 lines
4.1 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(Term.prop "Prop")
(Term.type "Type")
(Term.type "Type")
(Term.sortApp (Term.type "Type") (Level.num (numLit "1")))
(Term.sortApp (Term.type "Type") (Level.hole "_"))
(Term.sortApp (Term.type "Type") (Level.addLit (Level.hole "_") "+" (numLit "2")))
(Term.id `Nat (null))
(Term.app (Term.id `List (null)) (null (Term.id `Nat (null))))
(Term.app (Term.id `id (null)) (null (Term.id `Nat (null))))
(Term.app (Term.id `List (null)) (null (Term.id `Nat (null))))
(Term.app (Term.explicit "@" (Term.id `id (null))) (null (Term.type "Type") (Term.id `Nat (null))))
(Term.app
(Term.id `List (null (Term.explicitUniv ".{" (null (Level.num (numLit "0"))) "}")))
(null (Term.id `Nat (null))))
(Term.app
(Term.id `id (null (Term.explicitUniv ".{" (null (Level.num (numLit "2"))) "}")))
(null (Term.id `Nat (null))))
(Term.app
(Term.id `id (null))
(null (Term.app (Term.explicit "@" (Term.id `id (null))) (null (Term.type "Type") (Term.id `Nat (null))))))
(Term.fun
"fun"
(null (Term.paren "(" (null (Term.id `a (null)) (null (Term.typeAscription ":" (Term.id `Nat (null))))) ")"))
"=>"
(Term.id `a (null)))
(Term.fun
"fun"
(null
(Term.paren
"("
(null (Term.app (Term.id `a (null)) (null (Term.id `b (null)))) (null (Term.typeAscription ":" (Term.id `Nat (null)))))
")"))
"=>"
(Term.id `a (null)))
(Term.fun
"fun"
(null
(Term.paren "(" (null (Term.id `a (null)) (null (Term.typeAscription ":" (Term.id `Nat (null))))) ")")
(Term.paren "(" (null (Term.id `b (null)) (null (Term.typeAscription ":" (Term.id `Bool (null))))) ")"))
"=>"
(Term.id `a (null)))
(Term.fun
"fun"
(null (Term.implicitBinder "{" (null `a `b) (null ":" (Term.id `Nat (null))) "}"))
"=>"
(Term.id `a (null)))
(Term.app
(Term.id `typeAs (null))
(null
(Term.depArrow
(Term.implicitBinder "{" (null `α) (null ":" (Term.type "Type")) "}")
"→"
(Term.arrow (Term.id `α (null)) "→" (Term.id `α (null))))
(Term.fun
"fun"
(null
(Term.implicitBinder "{" (null `α) (null ":" (Term.type "Type")) "}")
(Term.paren "(" (null (Term.id `a (null)) (null (Term.typeAscription ":" (Term.id `α (null))))) ")"))
"=>"
(Term.id `a (null)))))
(Term.fun
"fun"
(null
(Term.implicitBinder "{" (null `α) (null ":" (Term.type "Type")) "}")
(Term.instBinder "[" (null `_inst_1 ":") (Term.app (Term.id `HasToString (null)) (null (Term.id `α (null)))) "]")
(Term.paren "(" (null (Term.id `a (null)) (null (Term.typeAscription ":" (Term.id `α (null))))) ")"))
"=>"
(Term.app
(Term.explicit "@" (Term.id `HasToString.toString (null)))
(null (Term.id `α (null)) (Term.id `_inst_1 (null)) (Term.id `a (null)))))
(Term.depArrow (Term.explicitBinder "(" (null `α) (null ":" (Term.type "Type")) (null) ")") "→" (Term.id `α (null)))
(Term.depArrow (Term.explicitBinder "(" (null `α `β) (null ":" (Term.type "Type")) (null) ")") "→" (Term.id `α (null)))
(Term.arrow (Term.type "Type") "→" (Term.arrow (Term.type "Type") "→" (Term.type "Type")))
(Term.depArrow
(Term.explicitBinder "(" (null `α) (null ":" (Term.type "Type")) (null) ")")
"→"
(Term.arrow (Term.id `α (null)) "→" (Term.id `α (null))))
(Term.depArrow
(Term.explicitBinder "(" (null `α) (null ":" (Term.type "Type")) (null) ")")
"→"
(Term.depArrow
(Term.explicitBinder "(" (null `a) (null ":" (Term.id `α (null))) (null) ")")
"→"
(Term.app (Term.id `Eq (null)) (null (Term.id `a (null)) (Term.id `a (null))))))
(Term.depArrow (Term.implicitBinder "{" (null `α) (null ":" (Term.type "Type")) "}") "→" (Term.id `α (null)))
(Term.depArrow
(Term.implicitBinder "{" (null `α) (null ":" (Term.type "Type")) "}")
"→"
(Term.depArrow
(Term.instBinder "[" (null `_inst_1 ":") (Term.app (Term.id `HasToString (null)) (null (Term.id `α (null)))) "]")
"→"
(Term.id `α (null))))
(Term.num (numLit "0"))
(Term.num (numLit "1"))
(Term.num (numLit "42"))
(Term.str (strLit "\"hi\""))
(Term.proj (Term.app (Term.id `Prod.mk (null)) (null (Term.num (numLit "1")) (Term.num (numLit "2")))) "." `fst)
(Term.app
(Term.id `or (null))
(null
(Term.app (Term.id `HasLess.Less (null)) (null (Term.num (numLit "1")) (Term.num (numLit "2"))))
(Term.id `Bool.true (null))))