Skip to content

HERMIT to HERMIT Shell

David Young edited this page Jun 24, 2015 · 107 revisions

Symbols

Meaning
🎀 implemented in server
πŸ”ˆ implemented in client
↔️ tested by hand, front to back, implies 🎀 & πŸ”ˆ
βœ… In a unit test. The test may or may not run

Types

HERMIT Type HERMIT-shell Type Notes
RhsOfName Name
TransformH :: * -> * -> * Transform
LCoreTC
LocalPathH LocalPath
RewriteH Rewrite

All shell functions

Name Type Done
alpha RewriteH LCore 🎀 πŸ”ˆ
alpha-lam String -> RewriteH LCore 🎀 πŸ”ˆ
alpha-lam RewriteH LCore 🎀 πŸ”ˆ
alpha-case-binder String -> RewriteH LCore 🎀 πŸ”ˆ
alpha-case-binder RewriteH LCore 🎀 πŸ”ˆ
alpha-alt RewriteH LCore 🎀 πŸ”ˆ
alpha-alt [String] -> RewriteH LCore 🎀 πŸ”ˆ
alpha-case RewriteH LCore 🎀 πŸ”ˆ
alpha-let [String] -> RewriteH LCore 🎀 πŸ”ˆ
alpha-let RewriteH LCore 🎀 πŸ”ˆ
alpha-top [String] -> RewriteH LCore 🎀 πŸ”ˆ
alpha-top RewriteH LCore 🎀 πŸ”ˆ
alpha-prog RewriteH LCore 🎀 πŸ”ˆ
unshadow RewriteH LCore 🎀 πŸ”ˆ
Name Type Done
unfold-basic-combinator RewriteH LCore 🎀 πŸ”ˆ
simplify RewriteH LCore 🎀 πŸ”ˆ
bash RewriteH LCore 🎀 πŸ”ˆ
smash RewriteH LCore 🎀 πŸ”ˆ
bash-extended-with [RewriteH LCore] -> RewriteH LCore 🎀 πŸ”ˆ
smash-extended-with [RewriteH LCore] -> RewriteH LCore 🎀 πŸ”ˆ
bash-debug RewriteH LCore 🎀 πŸ”ˆ
Name Type Done
trace String -> RewriteH LCoreTC 🎀 πŸ”ˆ
observe String -> RewriteH LCoreTC 🎀 πŸ”ˆ
observe-failure String -> RewriteH LCoreTC -> RewriteH LCoreTC 🎀 πŸ”ˆ
bracket String -> RewriteH LCoreTC -> RewriteH LCoreTC 🎀 πŸ”ˆ
Name Type Done
fix-intro RewriteH LCore 🎀 πŸ”ˆ
fix-computation-rule BiRewriteH LCore 🎀 πŸ”ˆ
fix-rolling-rule BiRewriteH LCore 🎀 πŸ”ˆ
fix-fusion-rule String -> String -> String -> RewriteH LCore -> RewriteH LCore -> RewriteH LCore -> BiRewriteH LCore 🎀 πŸ”ˆ
fix-fusion-rule-unsafe String -> String -> String -> RewriteH LCore -> BiRewriteH LCore 🎀 πŸ”ˆ
fix-fusion-rule-unsafe String -> String -> String -> BiRewriteH LCore 🎀 πŸ”ˆ
Name Type Done
fold HermitName -> RewriteH LCore 🎀 πŸ”ˆ
Name Type Done
static-arg RewriteH LCore 🎀 πŸ”ˆ
static-arg-types RewriteH LCore 🎀 πŸ”ˆ
static-arg-pos [Int] -> RewriteH LCore 🎀 πŸ”ˆ
Name Type Done
deshadow-prog RewriteH LCore 🎀 πŸ”ˆ
dezombify RewriteH LCore 🎀 πŸ”ˆ
occurrence-analysis RewriteH LCore 🎀 πŸ”ˆ
lint-expr TransformH LCoreTC String 🎀 πŸ”ˆ
lint-module TransformH LCoreTC String 🎀 πŸ”ˆ
lint TransformH LCoreTC String 🎀 πŸ”ˆ
load-lemma-library HermitName -> TransformH LCore String 🎀 πŸ”ˆ
load-lemma-library HermitName -> LemmaName -> TransformH LCore String 🎀 πŸ”ˆ
inject-dependency String -> TransformH LCore () 🎀 πŸ”ˆ
Name Type Done
induction HermitName -> RewriteH LCore 🎀 πŸ”ˆ
prove-by-cases HermitName -> RewriteH LCore 🎀 πŸ”ˆ
Name Type Done
inline RewriteH LCore 🎀 πŸ”ˆ
inline OccurrenceName -> RewriteH LCore 🎀 πŸ”ˆ
inline [String] -> RewriteH LCore 🎀 πŸ”ˆ
inline-case-scrutinee RewriteH LCore 🎀 πŸ”ˆ
inline-case-alternative RewriteH LCore 🎀 πŸ”ˆ
Name Type Done
id RewriteH LCore 🎀 πŸ”ˆ
id RewriteH LCoreTC 🎀 πŸ”ˆ
success TransformH LCore () 🎀 πŸ”ˆ
fail String -> RewriteH LCore 🎀 πŸ”ˆ
<+ RewriteH LCore -> RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
<+ TransformH LCore () -> TransformH LCore () -> TransformH LCore () 🎀 πŸ”ˆ
>>> RewriteH LCore -> RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
>>> BiRewriteH LCore -> BiRewriteH LCore -> BiRewriteH LCore 🎀 πŸ”ˆ
>>> RewriteH LCoreTC -> RewriteH LCoreTC -> RewriteH LCoreTC 🎀 πŸ”ˆ
>+> RewriteH LCore -> RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
try RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
repeat RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
replicate Int -> RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
all RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
any RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
one RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
all-bu RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
all-td RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
all-du RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
any-bu RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
any-td RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
any-du RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
one-td RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
one-bu RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
prune-td RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
innermost RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
focus TransformH LCoreTC LocalPathH -> RewriteH LCoreTC -> RewriteH LCoreTC 🎀 πŸ”ˆ
focus TransformH LCoreTC LocalPathH -> TransformH LCoreTC String -> TransformH LCoreTC String 🎀 πŸ”ˆ
focus LocalPathH -> RewriteH LCoreTC -> RewriteH LCoreTC 🎀 πŸ”ˆ
focus LocalPathH -> TransformH LCoreTC String -> TransformH LCoreTC String 🎀 πŸ”ˆ
focus TransformH LCore LocalPathH -> RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
focus TransformH LCore LocalPathH -> TransformH LCore String -> TransformH LCore String 🎀 πŸ”ˆ
focus LocalPathH -> RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
focus LocalPathH -> TransformH LCore String -> TransformH LCore String 🎀 πŸ”ˆ
when TransformH LCore () -> RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
not TransformH LCore () -> TransformH LCore () 🎀 πŸ”ˆ
invert BiRewriteH LCore -> BiRewriteH LCore 🎀 πŸ”ˆ
forward BiRewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
backward BiRewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
test RewriteH LCore -> TransformH LCore String 🎀 πŸ”ˆ
any-call RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
promote RewriteH LCore -> RewriteH LCoreTC 🎀 πŸ”ˆ
extract RewriteH LCoreTC -> RewriteH LCore 🎀 πŸ”ˆ
extract TransformH LCoreTC String -> TransformH LCore String 🎀 πŸ”ˆ
between Int -> Int -> RewriteH LCoreTC -> RewriteH LCoreTC 🎀 πŸ”ˆ
atPath TransformH LCore LocalPathH -> TransformH LCore LCore 🎀 πŸ”ˆ
atPath TransformH LCoreTC LocalPathH -> TransformH LCoreTC LCoreTC 🎀 πŸ”ˆ
atPath TransformH LCoreTC LocalPathH -> TransformH LCore LCore 🎀 πŸ”ˆ
Name Type Done
nonrec-to-rec RewriteH LCore 🎀 πŸ”ˆ
rec-to-nonrec RewriteH LCore 🎀 πŸ”ˆ
Name Type Done
case-float-app RewriteH LCore 🎀 πŸ”ˆ
case-float-arg RewriteH LCore -> RewriteH LCore
case-float-arg CoreString -> RewriteH LCore -> RewriteH LCore
case-float-arg-unsafe CoreString -> RewriteH LCore
case-float-arg-unsafe LemmaName -> RewriteH LCore
case-float-arg-lemma LemmaName -> RewriteH LCore 🎀 πŸ”ˆ
case-float-case RewriteH LCore 🎀 πŸ”ˆ
case-float-cast RewriteH LCore 🎀 πŸ”ˆ
case-float-let RewriteH LCore 🎀 πŸ”ˆ
case-float RewriteH LCore 🎀 πŸ”ˆ
case-float-in RewriteH LCore 🎀 πŸ”ˆ
case-float-in-args RewriteH LCore 🎀 πŸ”ˆ
case-reduce RewriteH LCore 🎀 πŸ”ˆ
case-reduce-datacon RewriteH LCore 🎀 πŸ”ˆ
case-reduce-literal RewriteH LCore 🎀 πŸ”ˆ
case-reduce-unfold RewriteH LCore 🎀 πŸ”ˆ
case-split OccurrenceName -> RewriteH LCore
case-split CoreString -> RewriteH LCore
case-split-inline OccurrenceName -> RewriteH LCore
case-split-inline CoreString -> RewriteH LCore
case-intro-seq String -> RewriteH LCore 🎀 πŸ”ˆ
case-elim-seq RewriteH LCore 🎀 πŸ”ˆ
case-inline-alternative RewriteH LCore 🎀 πŸ”ˆ
case-inline-scrutinee RewriteH LCore 🎀 πŸ”ˆ
case-merge-alts RewriteH LCore 🎀 πŸ”ˆ
case-merge-alts-with-binder RewriteH LCore 🎀 πŸ”ˆ
case-elim RewriteH LCore 🎀 πŸ”ˆ
case-elim-inline-scrutinee RewriteH LCore 🎀 πŸ”ˆ
case-elim-merge-alts RewriteH LCore 🎀 πŸ”ˆ
case-fold-binder RewriteH LCore 🎀 πŸ”ˆ
Name Type Done
cast-elim RewriteH LCore 🎀 πŸ”ˆ
cast-elim-refl RewriteH LCore 🎀 πŸ”ˆ
cast-elim-sym RewriteH LCore 🎀 πŸ”ˆ
cast-elim-sym-plus RewriteH LCore 🎀 πŸ”ˆ
cast-float-app RewriteH LCore 🎀 πŸ”ˆ
cast-float-lam RewriteH LCore 🎀 πŸ”ˆ
cast-elim-unsafe RewriteH LCore 🎀 πŸ”ˆ
Name Type Done
let-subst RewriteH LCore 🎀 πŸ”ˆ
let-subst-safe RewriteH LCore 🎀 πŸ”ˆ
let-nonrec-subst-safe RewriteH LCore 🎀 πŸ”ˆ
let-intro String -> RewriteH LCore 🎀 πŸ”ˆ
let-intro-unfolding HermitName -> RewriteH LCore 🎀 πŸ”ˆ
let-elim RewriteH LCore 🎀 πŸ”ˆ
let-float-app RewriteH LCore 🎀 πŸ”ˆ
let-float-arg RewriteH LCore 🎀 πŸ”ˆ
let-float-lam RewriteH LCore 🎀 πŸ”ˆ
let-float-let RewriteH LCore 🎀 πŸ”ˆ
let-float-case RewriteH LCore 🎀 πŸ”ˆ
let-float-case-alt RewriteH LCore 🎀 πŸ”ˆ
let-float-case-alt Int -> RewriteH LCore 🎀 πŸ”ˆ
let-float-cast RewriteH LCore 🎀 πŸ”ˆ
let-float-top RewriteH LCore 🎀 πŸ”ˆ
let-float RewriteH LCore 🎀 πŸ”ˆ
let-to-case RewriteH LCore 🎀 πŸ”ˆ
let-float-in RewriteH LCore 🎀 πŸ”ˆ
let-float-in-app RewriteH LCore 🎀 πŸ”ˆ
let-float-in-case RewriteH LCore 🎀 πŸ”ˆ
let-float-in-lam RewriteH LCore 🎀 πŸ”ˆ
reorder-lets [String] -> RewriteH LCore 🎀 πŸ”ˆ
let-tuple String -> RewriteH LCore 🎀 πŸ”ˆ
prog-bind-elim RewriteH LCore 🎀 πŸ”ˆ
prog-bind-nonrec-elim RewriteH LCore 🎀 πŸ”ˆ
prog-bind-rec-elim RewriteH LCore 🎀 πŸ”ˆ
Name Type Done
beta-reduce RewriteH LCore 🎀 πŸ”ˆ
beta-expand RewriteH LCore 🎀 πŸ”ˆ
eta-reduce RewriteH LCore 🎀 πŸ”ˆ
eta-expand String -> RewriteH LCore 🎀 πŸ”ˆ
flatten-module RewriteH LCore 🎀 πŸ”ˆ
flatten-program RewriteH LCore 🎀 πŸ”ˆ
abstract OccurrenceName -> RewriteH LCore 🎀 πŸ”ˆ
push String -> RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
push-unsafe String -> RewriteH LCore 🎀 πŸ”ˆ
Name Type Done
prog Crumb 🎀 πŸ”ˆ
prog-head Crumb 🎀 πŸ”ˆ
prog-tail Crumb 🎀 πŸ”ˆ
nonrec-rhs Crumb 🎀 πŸ”ˆ
rec-def Crumb 🎀 πŸ”ˆ
def-rhs Crumb 🎀 πŸ”ˆ
app-fun Crumb 🎀 πŸ”ˆ
app-arg Crumb 🎀 πŸ”ˆ
lam-body Crumb 🎀 πŸ”ˆ
let-bind Crumb 🎀 πŸ”ˆ
let-body Crumb 🎀 πŸ”ˆ
case-expr Crumb 🎀 πŸ”ˆ
case-type Crumb 🎀 πŸ”ˆ
case-alt Int -> Crumb 🎀 πŸ”ˆ
cast-expr Crumb 🎀 πŸ”ˆ
cast-co Crumb 🎀 πŸ”ˆ
tick-expr Crumb 🎀 πŸ”ˆ
alt-rhs Crumb 🎀 πŸ”ˆ
type Crumb 🎀 πŸ”ˆ
coercion Crumb 🎀 πŸ”ˆ
appTy-fun Crumb 🎀 πŸ”ˆ
appTy-arg Crumb 🎀 πŸ”ˆ
tyCon-arg Crumb 🎀 πŸ”ˆ
fun-dom Crumb 🎀 πŸ”ˆ
fun-cod Crumb 🎀 πŸ”ˆ
forall-body Crumb 🎀 πŸ”ˆ
refl-type Crumb 🎀 πŸ”ˆ
coCon-arg Crumb 🎀 πŸ”ˆ
appCo-fun Crumb 🎀 πŸ”ˆ
appCo-arg Crumb 🎀 πŸ”ˆ
coForall-body Crumb 🎀 πŸ”ˆ
axiom-inst Crumb 🎀 πŸ”ˆ
unsafe-left Crumb 🎀 πŸ”ˆ
unsafe-right Crumb 🎀 πŸ”ˆ
sym-co Crumb 🎀 πŸ”ˆ
trans-left Crumb 🎀 πŸ”ˆ
trans-right Crumb 🎀 πŸ”ˆ
nth-co Crumb 🎀 πŸ”ˆ
inst-co Crumb 🎀 πŸ”ˆ
inst-type Crumb 🎀 πŸ”ˆ
lr-co Crumb 🎀 πŸ”ˆ
forall-body Crumb 🎀 πŸ”ˆ
conj-lhs Crumb 🎀 πŸ”ˆ
conj-rhs Crumb 🎀 πŸ”ˆ
disj-lhs Crumb 🎀 πŸ”ˆ
disj-rhs Crumb 🎀 πŸ”ˆ
antecedent Crumb 🎀 πŸ”ˆ
consequent Crumb 🎀 πŸ”ˆ
eq-lhs Crumb 🎀 πŸ”ˆ
eq-rhs Crumb 🎀 πŸ”ˆ
Name Type Done
rhs-of RhsOfName -> TransformH LCoreTC LocalPathH 🎀 πŸ”ˆ
binding-group-of String -> TransformH LCoreTC LocalPathH 🎀 πŸ”ˆ
binding-of BindingName -> TransformH LCoreTC LocalPathH βœ…
occurrence-of OccurrenceName -> TransformH LCoreTC LocalPathH 🎀 πŸ”ˆ
application-of OccurrenceName -> TransformH LCoreTC LocalPathH 🎀 πŸ”ˆ
consider Considerable -> TransformH LCore LocalPathH 🎀 πŸ”ˆ
arg Int -> TransformH LCore LocalPathH 🎀 πŸ”ˆ
lams-body TransformH LCore LocalPathH 🎀 πŸ”ˆ
lets-body TransformH LCore LocalPathH 🎀 πŸ”ˆ
prog-end TransformH LCore LocalPathH 🎀 πŸ”ˆ
parent-of TransformH LCore LocalPathH -> TransformH LCore LocalPathH
parent-of TransformH LCoreTC LocalPathH -> TransformH LCoreTC LocalPathH
Name Type Done
var String -> TransformH LCore () 🎀 πŸ”ˆ
nonrec-intro String -> CoreString -> RewriteH LCore 🎀 πŸ”ˆ
Name Type Done
info TransformH LCoreTC String
compare-bound-ids HermitName -> HermitName -> TransformH LCoreTC ()
compare-core-at TransformH LCoreTC LocalPathH -> TransformH LCoreTC LocalPathH -> TransformH LCoreTC ()
Name Type Done
retraction CoreString -> CoreString -> RewriteH LCore -> BiRewriteH LCore 🎀 πŸ”ˆ
retraction-unsafe CoreString -> CoreString -> BiRewriteH LCore 🎀 πŸ”ˆ
unshadow-quantified RewriteH LCoreTC 🎀 πŸ”ˆ
merge-quantifiers RewriteH LCore 🎀 πŸ”ˆ
float-left RewriteH LCore 🎀 πŸ”ˆ
float-right RewriteH LCore 🎀 πŸ”ˆ
conjunct TransformH LCore () 🎀 πŸ”ˆ
disjunct TransformH LCore () 🎀 πŸ”ˆ
imply TransformH LCore () 🎀 πŸ”ˆ
lemma-birewrite LemmaName -> BiRewriteH LCore 🎀 πŸ”ˆ
lemma-forward LemmaName -> RewriteH LCore 🎀 πŸ”ˆ
lemma-backward LemmaName -> RewriteH LCore 🎀 πŸ”ˆ
lemma-consequent LemmaName -> RewriteH LCore 🎀 πŸ”ˆ
lemma-consequent-birewrite LemmaName -> BiRewriteH LCore 🎀 πŸ”ˆ
lemma-lhs-intro LemmaName -> RewriteH LCore 🎀 πŸ”ˆ
lemma-rhs-intro LemmaName -> RewriteH LCore 🎀 πŸ”ˆ
inst-lemma TransformH LCore () 🎀 πŸ”ˆ
inst-dictionaries RewriteH LCore 🎀 πŸ”ˆ
abstract-forall String -> CoreString -> RewriteH LCore
abstract-forall String -> RewriteH LCore -> RewriteH LCore
copy-lemma TransformH LCore () 🎀 πŸ”ˆ
modify-lemma LemmaName -> RewriteH LCore -> TransformH LCore () 🎀 πŸ”ˆ
query-lemma LemmaName -> TransformH LCore String -> TransformH LCore String 🎀 πŸ”ˆ
show-lemma PrettyPrinter -> LemmaName -> PrettyH LCore 🎀
show-lemmas PrettyPrinter -> LemmaName -> PrettyH LCore
show-lemmas PrettyPrinter -> PrettyH LCore
extensionality String -> RewriteH LCore 🎀 πŸ”ˆ
extensionality RewriteH LCore 🎀 πŸ”ˆ
lhs TransformH LCore String -> TransformH LCore String 🎀 πŸ”ˆ
lhs RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
rhs TransformH LCore String -> TransformH LCore String 🎀 πŸ”ˆ
rhs RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
both RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
both TransformH LCore String -> TransformH LCore String 🎀 πŸ”ˆ
reflexivity RewriteH LCore 🎀 πŸ”ˆ
simplify-lemma RewriteH LCore 🎀 πŸ”ˆ
split-antecedent RewriteH LCore 🎀 πŸ”ˆ
lemma LemmaName -> RewriteH LCore 🎀 πŸ”ˆ
lemma-unsafe LemmaName -> RewriteH LCore 🎀 πŸ”ˆ
Name Type Done
remember LemmaName -> TransformH LCore () 🎀 πŸ”ˆ
unfold-remembered LemmaName -> RewriteH LCore 🎀 πŸ”ˆ
fold-remembered LemmaName -> RewriteH LCore 🎀 πŸ”ˆ
fold-any-remembered RewriteH LCore
show-remembered PrettyPrinter -> PrettyH LCore
Name Type Done
show-rules TransformH LCoreTC String 🎀 πŸ”ˆ
show-rule PrettyPrinter -> RuleName -> TransformH LCoreTC DocH 🎀 πŸ”ˆ
fold-rule RuleName -> RewriteH LCore 🎀 πŸ”ˆ
fold-rules [RuleName] -> RewriteH LCore 🎀 πŸ”ˆ
unfold-rule RuleName -> RewriteH LCore 🎀 πŸ”ˆ
unfold-rule-unsafe RuleName -> RewriteH LCore 🎀 πŸ”ˆ
unfold-rules [RuleName] -> RewriteH LCore 🎀 πŸ”ˆ
unfold-rules-unsafe [RuleName] -> RewriteH LCore 🎀 πŸ”ˆ
rule-to-lemma PrettyPrinter -> RuleName -> TransformH LCore DocH 🎀 πŸ”ˆ
spec-constr RewriteH LCore 🎀 πŸ”ˆ
specialise RewriteH LCore 🎀 πŸ”ˆ
Name Type Done
replace-current-expr-with-undefined RewriteH LCore 🎀 πŸ”ˆ
replace-id-with-undefined HermitName -> RewriteH LCore 🎀 πŸ”ˆ
error-to-undefined RewriteH LCore 🎀 πŸ”ˆ
is-undefined-val TransformH LCore () 🎀 πŸ”ˆ
undefined-expr RewriteH LCore 🎀 πŸ”ˆ
undefined-app RewriteH LCore 🎀 πŸ”ˆ
undefined-lam RewriteH LCore 🎀 πŸ”ˆ
undefined-let RewriteH LCore 🎀 πŸ”ˆ
undefined-case RewriteH LCore 🎀 πŸ”ˆ
undefined-cast RewriteH LCore 🎀 πŸ”ˆ
undefined-tick RewriteH LCore 🎀 πŸ”ˆ
Name Type Done
beta-reduce-plus RewriteH LCore 🎀 πŸ”ˆ
unfold RewriteH LCore 🎀 πŸ”ˆ
unfold OccurrenceName -> RewriteH LCore 🎀 πŸ”ˆ
unfold [OccurrenceName] -> RewriteH LCore 🎀 πŸ”ˆ
unfold-saturated RewriteH LCore 🎀 πŸ”ˆ
specialize RewriteH LCore 🎀 πŸ”ˆ
unsafe-replace CoreString -> RewriteH LCore
Name Type Done
intro-ww-assumption-A 🎀 πŸ”ˆ
intro-ww-assumption-B 🎀 πŸ”ˆ
intro-ww-assumption-C 🎀 πŸ”ˆ
split-1-beta CoreString -> RewriteH LCore 🎀 πŸ”ˆ
split-2-beta CoreString -> RewriteH LCore 🎀 πŸ”ˆ
Name Type Done
ww-factorisation-unsafe 🎀 πŸ”ˆ
ww-split-unsafe 🎀 πŸ”ˆ
ww-assumption-B 🎀 πŸ”ˆ
ww-assumption-A-unsafe 🎀 πŸ”ˆ
ww-assumption-C-unsafe 🎀 πŸ”ˆ
ww-AssA-to-AssB RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
ww-AssB-to-AssC RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
ww-AssA-to-AssC RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
ww-generate-fusion RewriteH LCore -> TransformH LCore () 🎀 πŸ”ˆ
ww-generate-fusion-unsafe TransformH LCore () 🎀 πŸ”ˆ
ww-fusion BiRewriteH LCore 🎀 πŸ”ˆ
Name Type Done
ww-result-factorisation String -> String -> RewriteH LCore -> BiRewriteH LCore 🎀 πŸ”ˆ
ww-result-factorisation-unsafe String -> String -> BiRewriteH LCore 🎀 πŸ”ˆ
ww-split-static-arg-unsafe Int -> [Int] -> String -> String -> RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
ww-result-split String -> String -> RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
ww-result-split-unsafe String -> String -> RewriteH LCore 🎀 πŸ”ˆ
ww-result-split-static-arg Int -> [Int] -> String -> String -> RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
ww-result-split-static-arg-unsafe Int -> [Int] -> String -> String -> RewriteH LCore 🎀 πŸ”ˆ
ww-result-assumption-A String -> String -> RewriteH LCore -> BiRewriteH LCore 🎀 πŸ”ˆ
ww-result-assumption-B String -> String -> String -> RewriteH LCore -> BiRewriteH LCore 🎀 πŸ”ˆ
ww-result-assumption-C String -> String -> String -> RewriteH LCore -> BiRewriteH LCore 🎀 πŸ”ˆ
ww-result-assumption-A-unsafe String -> String -> BiRewriteH LCore 🎀 πŸ”ˆ
ww-result-assumption-B-unsafe String -> String -> String -> BiRewriteH LCore 🎀 πŸ”ˆ
ww-result-assumption-C-unsafe String -> String -> String -> BiRewriteH LCore 🎀 πŸ”ˆ
ww-result-AssA-to-AssB RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
ww-result-AssB-to-AssC RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
ww-result-AssA-to-AssC RewriteH LCore -> RewriteH LCore 🎀 πŸ”ˆ
ww-result-generate-fusion RewriteH LCore -> TransformH LCore () 🎀 πŸ”ˆ
ww-result-generate-fusion-unsafe TransformH LCore () 🎀 πŸ”ˆ
ww-result-fusion BiRewriteH LCore 🎀 πŸ”ˆ
Name Type Done
ast
Name Type Done
clean
Name Type Done
ghc
Name Type Done
help
help
Name Type Done
resume ShellEffect 🎀 πŸ”ˆ
abort ShellEffect 🎀 πŸ”ˆ
continue ShellEffect 🎀 πŸ”ˆ
gc
gc
display 🎀 πŸ”ˆ
up KernelEffect 🎀 πŸ”ˆ
navigate
command-line
set-window ShellEffect 🎀 πŸ”ˆ
top KernelEffect 🎀 πŸ”ˆ
log QueryFun 🎀 πŸ”ˆ
back ShellEffect 🎀 πŸ”ˆ
step ShellEffect 🎀 πŸ”ˆ
goto
goto
tag String -> ShellEffect 🎀 πŸ”ˆ
diff AST -> AST -> QueryFun 🎀 πŸ”ˆ
set-pp-diffonly Bool -> ShellEffect 🎀 πŸ”ˆ
set-fail-hard Bool -> ShellEffect 🎀 πŸ”ˆ
set-auto-corelint Bool -> ShellEffect 🎀 πŸ”ˆ
set-pp String -> ShellEffect 🎀 πŸ”ˆ
set-pp-renderer
set-pp-renderer
dump
dump
dump-lemma LemmaName -> FilePath -> PrettyPrinter -> String -> Int -> TransformH LCoreTC () (subsumed by the dump-lemma below)
dump-lemma PrettyPrinter -> LemmaName -> FilePath -> String -> Int -> TransformH LCoreTC () 🎀 πŸ”ˆ
set-pp-width Int -> ShellEffect 🎀 πŸ”ˆ
set-pp-type PpType -> ShellEffect 🎀 πŸ”ˆ
set-pp-coercion PpType -> ShellEffect 🎀 πŸ”ˆ
set-pp-uniques Bool -> ShellEffect 🎀 πŸ”ˆ
{ KernelEffect 🎀 πŸ”ˆ
} KernelEffect 🎀 πŸ”ˆ
load String -> String -> ScriptEffect 🎀 πŸ”ˆ
load-and-run String -> ScriptEffect 🎀 πŸ”ˆ
save String -> ScriptEffect 🎀 πŸ”ˆ
save-verbose String -> ScriptEffect 🎀 πŸ”ˆ
save-script String -> String -> ScriptEffect 🎀 πŸ”ˆ
load-as-rewrite String -> String -> ScriptEffect 🎀 πŸ”ˆ
script-to-rewrite 🎀 πŸ”ˆ
define-script 🎀 πŸ”ˆ
define-rewrite 🎀 πŸ”ˆ
run-script 🎀 πŸ”ˆ
display-scripts 🎀 πŸ”ˆ
stop-script 🎀 πŸ”ˆ
possible-rewrites CommandLineState -> TransformH LCore String
Name Type Done
prove-lemma LemmaName -> ShellEffect 🎀 πŸ”ˆ
end-proof ProofShellCommand 🎀 πŸ”ˆ
end-case ProofShellCommand 🎀 πŸ”ˆ
assume ProofShellCommand 🎀 πŸ”ˆ