pylogic.infix package

Submodules

pylogic.infix.by module

class pylogic.infix.by.ByProvers(starting_premise: Proposition, *provers: Proposition | Expr, rule: str = '')[source]

Bases: object

pylogic.infix.by.by_call(*ps: Proposition, rule: str = '') ByProvers[source]
pylogic.infix.by.by_forall(p: P, prover: Forall[Proposition] | ForallInSet[Proposition]) P[source]

Logical inference rule. We try to prove p using prover, a Forall statement.

pylogic.infix.infix module

class pylogic.infix.infix.Infix(operate: Callable[[T, U], V], symbol: str | None = None)[source]

Bases: InfixOnly, Generic[T, U, V]

class pylogic.infix.infix.InfixOnly(operate: Callable[[T, U], V], symbol: str | None = None)[source]

Bases: Generic[T, U, V]

class pylogic.infix.infix.Prefix(operate: Callable[[T], V], symbol: str | None = None)[source]

Bases: PrefixOnly, Generic[T, V]

class pylogic.infix.infix.PrefixOnly(operate: Callable[[T], V], symbol: str | None = None)[source]

Bases: InfixOnly, Generic[T, V]

operate: Callable[[T], V]
class pylogic.infix.infix.SpecialInfix(operate: Callable[[T, U], V], call: Callable[[...], W] | None = None, symbol: str | None = None)[source]

Bases: InfixOnly, Generic[T, U, V, W]

A special infix operator that can be called. T is the left operand type. U is the right operand type. V is the return type when used as an infix operator. W is the return type when called.

operate: Callable[[T, U], V]

pylogic.infix.is_ module

Module contents