pylogic.structures.grouplike package¶
Submodules¶
pylogic.structures.grouplike.group module¶
- class pylogic.structures.grouplike.group.AbelianGroup[source]¶
- class pylogic.structures.grouplike.group.AbelianGroup(*args, **kwargs)
Bases:
Group
- op_is_commutative: ForallInSet[ForallInSet[Equals]]¶
- classmethod property_op_is_commutative(set_: Set, operation: SpecialInfix[Any, Any, Expr, Expr]) ForallInSet[ForallInSet[Equals]] [source]¶
- class pylogic.structures.grouplike.group.Group[source]¶
- class pylogic.structures.grouplike.group.Group(*args, **kwargs)
Bases:
Monoid
- have_inverses: ForallInSet[ExistsUniqueInSet[And[Equals, Equals]]]¶
- latin_square: ForallInSet[ForallInSet[And[ExistsUniqueInSet[Equals], ExistsUniqueInSet[Equals]]]]¶
- classmethod property_have_inverses(set_: Set, operation: SpecialInfix[Any, Any, Expr, Expr], identity: Any) ForallInSet[ExistsUniqueInSet[And[Equals, Equals]]] [source]¶
This is a theorem because it is a consequence of the Latin square property and the identity property.
- classmethod property_latin_square(set_: Set, operation: SpecialInfix[Any, Any, Expr, Expr]) ForallInSet[ForallInSet[And[ExistsUniqueInSet[Equals], ExistsUniqueInSet[Equals]]]] [source]¶
The Latin square property states that, for each a and b in Q, there exist unique elements x and y in Q such that both
a * x = b
y * a = b
Then x = a b (left divide) and y = b / a (right divide)
pylogic.structures.grouplike.loop module¶
- class pylogic.structures.grouplike.loop.Loop[source]¶
- class pylogic.structures.grouplike.loop.Loop(*args, **kwargs)
Bases:
Quasigroup
- has_identity: And[IsContainedIn, ForallInSet[And[Equals, Equals]]]¶
- classmethod property_has_identity(set_: Set, operation: SpecialInfix[Term, Term, Expr, Expr], identity: Term) And[IsContainedIn, ForallInSet[And[Equals, Equals]]] [source]¶
pylogic.structures.grouplike.magma module¶
- class pylogic.structures.grouplike.magma.AttrNames¶
Bases:
dict
- is_closed_under_op: str¶
- op: str¶
- operation: str¶
- operation_name: str¶
- operation_symbol: str¶
- class pylogic.structures.grouplike.magma.CustomAttrNamesKwargs[source]¶
Bases:
TypedDict
- containment_function: Callable[[...], bool] | None¶
- elements: Iterable | None¶
- name: str¶
- operation_name: str | None¶
- operation_symbol: str | None¶
- class pylogic.structures.grouplike.magma.Magma[source]¶
- class pylogic.structures.grouplike.magma.Magma(*args, **kwargs)
Bases:
Set
- is_closed_under_op: ForallInSet[ForallInSet[IsContainedIn]]¶
- classmethod property_is_closed_under_op(set_: Set, operation: SpecialInfix[Any, Any, Expr, Expr]) ForallInSet[ForallInSet[IsContainedIn]] [source]¶
pylogic.structures.grouplike.monoid module¶
- class pylogic.structures.grouplike.monoid.Monoid[source]¶
- class pylogic.structures.grouplike.monoid.Monoid(*args, **kwargs)
Bases:
Semigroup
- has_identity: And[IsContainedIn, ForallInSet[And[Equals, Equals]]]¶
- classmethod property_has_identity(set_: Set, operation: SpecialInfix[Any, Any, Expr, Expr], identity: Any) And[IsContainedIn, ForallInSet[And[Equals, Equals]]] [source]¶
pylogic.structures.grouplike.quasigroup module¶
- class pylogic.structures.grouplike.quasigroup.Quasigroup[source]¶
- class pylogic.structures.grouplike.quasigroup.Quasigroup(*args, **kwargs)
Bases:
Magma
- latin_square: ForallInSet[ForallInSet[And[ExistsUniqueInSet[Equals], ExistsUniqueInSet[Equals]]]]¶
- classmethod property_latin_square(set_: Set, operation: SpecialInfix[Any, Any, Expr, Expr]) ForallInSet[ForallInSet[And[ExistsUniqueInSet[Equals], ExistsUniqueInSet[Equals]]]] [source]¶
The Latin square property states that, for each a and b in Q, there exist unique elements x and y in Q such that both
a * x = b
y * a = b
Then x = a b (left divide) and y = b / a (right divide)
pylogic.structures.grouplike.semigroup module¶
- class pylogic.structures.grouplike.semigroup.Semigroup[source]¶
- class pylogic.structures.grouplike.semigroup.Semigroup(*args, **kwargs)
Bases:
Magma
- op_is_associative: ForallInSet[ForallInSet[ForallInSet[Equals]]]¶
- classmethod property_op_is_associative(set_: Set, operation: SpecialInfix[Any, Any, Expr, Expr]) ForallInSet[ForallInSet[ForallInSet[Equals]]] [source]¶