kdrag.theories.logic.intuitionistic
Module Attributes
A proposition is a world valuation function. |
|
Finite model property + |
Functions
|
|
|
|
|
|
|
|
|
|
|
|
|
- kdrag.theories.logic.intuitionistic.And(*ps: DatatypeRef) DatatypeRef
w |= (A /B)[e] if and only if w |= A[e] and w |= B[e]
>>> p, q = smt.Consts("p q", Prop) >>> And(p,q) Prop(Lambda(w, And(val(p)[w], val(q)[w])))
- Parameters:
ps (DatatypeRef)
- Return type:
DatatypeRef
- kdrag.theories.logic.intuitionistic.Const(name: str, sort: SortRef) DatatypeRef
- Parameters:
name (str)
sort (SortRef)
- Return type:
DatatypeRef
- kdrag.theories.logic.intuitionistic.Implies(p: DatatypeRef, q: DatatypeRef) DatatypeRef
- Parameters:
p (DatatypeRef)
q (DatatypeRef)
- Return type:
DatatypeRef
- kdrag.theories.logic.intuitionistic.Not(p: DatatypeRef) DatatypeRef
- Parameters:
p (DatatypeRef)
- Return type:
DatatypeRef
- kdrag.theories.logic.intuitionistic.Or(*ps: DatatypeRef) DatatypeRef
w |= (A / B)[e] if and only if w |= A[e] or w |= B[e]
>>> p, q = smt.Consts("p q", Prop) >>> Or(p,q) Prop(Lambda(w, Or(val(p)[w], val(q)[w])))
- Parameters:
ps (DatatypeRef)
- Return type:
DatatypeRef
- kdrag.theories.logic.intuitionistic.Prop = Prop
A proposition is a world valuation function. Propositions become monotonically more true as we move to more accessible worlds. Note that Prop ~ Sort(Unit)
- Parameters:
args (ExprRef)
- Return type:
DatatypeRef
- kdrag.theories.logic.intuitionistic.Sort(sort: SortRef)
- Parameters:
sort (SortRef)
- kdrag.theories.logic.intuitionistic.Valid(p: DatatypeRef) BoolRef
- Parameters:
p (DatatypeRef)
- Return type:
BoolRef
- kdrag.theories.logic.intuitionistic.or_intro2 = |= ForAll([a, b], Implies(And(ForAll([w, u], Implies(And(acc(w, u), val(a)[w]), val(a)[u])), ForAll([w, u], Implies(And(acc(w, u), val(b)[w]), val(b)[u]))), ForAll(w, val(Prop(Lambda(w, ForAll(u, Implies(acc(w, u), Implies(val(b)[u], val(Prop(Lambda(w, Or(val(a)[w], val(b)[w]))))[u]))))))[w])))
Finite model property +
- Parameters:
args (smt.ExprRef | Proof)