Calc
FreshVar()
FreshVars()
Inductive()
Lemma()
NewType()
PTheorem()
Proof
QExists()
QForAll()
QImplies()
Struct()
Theorem()
axiom()
cond()
define()
prove()
search()
simp()
horn_trig()
Order
RewriteRule
RewriteRuleException
Rule
all_narrow()
apply()
backward_rule()
beta()
decl_index()
def_eq()
esimp()
forward_rule()
full_simp()
kbo()
lpo()
rewrite()
rewrite1()
rewrite1_rule()
rewrite_of_expr()
rewrite_once()
rewrite_slow()
rule_of_expr()
rw_trig()
simp1()
simp2()
unfold()
Take a horn clause and add triggers to it for the head
>>> x = smt.Int("x") >>> pf = kd.prove(smt.ForAll([x], x > 0, x >= 0)) >>> pf2 = horn_trig(pf) >>> pf2 |= ForAll(X!..., Implies(X!... > 0, X!... >= 0)) >>> pf2.thm.pattern(0) Var(0) >= 0
e (Proof)