kdrag.property
Generic properties like associativity, commutativity, idempotence, etc.
Classes
| 
 | forall x y, rel(x, y) and rel(y, x) implies x = y | 
| 
 | forall x y z, f(f(x,y),z) = f(x,f(y,z)) | 
| 
 | forall x y, rel(x, y) implies not rel(y, x) | 
| 
 | forall x y, f(x,y) = f(y,x) | 
| 
 | forall x, f(x,x) = x | 
| 
 | |
| 
 | forall x, not rel(x, x) | 
| 
 | forall x, f(e,x) = x | 
| 
 | forall x, rel(x, x) | 
| 
 | forall x, f(x,e) = x | 
| 
 | forall x y, rel(x, y) or rel(y, x) | 
- class kdrag.property.Antisymm(*args, **kwargs)
- Bases: - Protocol- forall x y, rel(x, y) and rel(y, x) implies x = y - rel: FuncDeclRef
 
- class kdrag.property.Assoc(*args, **kwargs)
- Bases: - Protocol- forall x y z, f(f(x,y),z) = f(x,f(y,z)) - f: FuncDeclRef
 
- class kdrag.property.Asymm(*args, **kwargs)
- Bases: - Protocol- forall x y, rel(x, y) implies not rel(y, x) - rel: FuncDeclRef
 
- class kdrag.property.Comm(*args, **kwargs)
- Bases: - Protocol- forall x y, f(x,y) = f(y,x) - f: FuncDeclRef
 
- class kdrag.property.Identity(*args, **kwargs)
- Bases: - LeftIdentity,- RightIdentity,- Protocol- e: ExprRef
 - f: FuncDeclRef
 
- class kdrag.property.Irrefl(*args, **kwargs)
- Bases: - Protocol- forall x, not rel(x, x) - rel: FuncDeclRef
 
- class kdrag.property.LeftIdentity(*args, **kwargs)
- Bases: - Protocol- forall x, f(e,x) = x - e: ExprRef
 - f: FuncDeclRef