mirror of
https://github.com/idris-lang/Idris2.git
synced 2024-11-28 11:05:17 +03:00
25 lines
599 B
Idris
25 lines
599 B
Idris
import Language.Reflection
|
|
|
|
%language ElabReflection
|
|
|
|
solveReflected : TTImp -> Elab any
|
|
solveReflected `(Builtin.Equal {a=_} {b=_} ~(left) ~(right))
|
|
= do logTerm "" 0 "Left" left
|
|
logTerm "" 0 "Right" right
|
|
fail "Not done"
|
|
solveReflected g
|
|
= do logTerm "" 0 "Goal" g
|
|
fail "I don't know how to prove this"
|
|
|
|
%macro
|
|
prove : Elab any
|
|
prove
|
|
= do env <- localVars
|
|
Just g <- goal
|
|
| Nothing => fail "No goal to solve"
|
|
logMsg "" 0 (show env)
|
|
solveReflected g
|
|
|
|
commutes : (x, y : Nat) -> plus x y = plus y x
|
|
commutes x y = prove
|