diff --git a/index.html b/index.html
index 3b4f2ea..91c1747 100644
--- a/index.html
+++ b/index.html
@@ -248,6 +248,9 @@
.symbol-nat {
color: var(--symbol-nat-col)
}
+ .symbol-prelude {
+ color: var(--symbol-prelude-col)
+ }
.symbol-turnstile {
padding-left: 6px;
padding-right: 6px;
@@ -675,6 +678,38 @@
(Term (Cons (f nat(2)) (Cons (a nat(0)) Empty)) (Func f (Cons (Const a) (Cons (Var nat(1)) Empty))))
|- ?
+
+ a.
+ -------- Eq
+ (Eq a a)
+
+ s.
+ (Eq length("$s") nat(1))
+ ---------------------- Singleton
+ (Singleton "$s")
+
+ s. (Singleton "$s")
+ ---------------------- Rev-1
+ (Rev "$s" "$s")
+
+ s. ss. ssRev. (Rev "$ss" "$ssRev") (Singleton "$s")
+ ----------------------- Rev-n
+ (Rev "$s $ss" "$ssRev $s")
+
+ s. sRev. (Rev "$s" "$sRev")
+ ---------------------- Palindrome-Even
+ (Palindrome "$s $sRev")
+
+ s. sRev. m. (Rev "$s" "$sRev")
+ ---------------------- Palindrome-Odd
+ (Palindrome "$s $m $sRev")
+
+
+ ------------------ dlads
+ (Palindrome "a b c b a")
+ |- ?
+
+
a.
-------------- eq-refl
diff --git a/src/AssocComm.res b/src/AssocComm.res
index 10c1240..9cac980 100644
--- a/src/AssocComm.res
+++ b/src/AssocComm.res
@@ -204,6 +204,7 @@ module Make = (
let full = term->between(token(Const.openTerm), token(Const.closeTerm))
Parser.runParser(full, str)
}
+ let reduce = t => t
let substitute = (atom: t, subst: subst): t => {
let substituted =
diff --git a/src/AtomDef.res b/src/AtomDef.res
index fff14f3..6a84b47 100644
--- a/src/AtomDef.res
+++ b/src/AtomDef.res
@@ -11,6 +11,7 @@ module type ATOM = {
let upshift: (t, int, ~from: int=?) => t
let substDeBruijn: (t, array