kdrag.datatype.inj_lemmas
- kdrag.datatype.inj_lemmas(dt: DatatypeSortRef) list[Proof]
Injectivity lemmas for a datatype. Z3 internally understands these, but can be useful to be explicit about them in some situations
>>> import kdrag.theories.nat as nat >>> inj_lemmas(nat.Nat)[0] |- ForAll([x!..., y!...], (S(x!...) == S(y!...)) == And(x!... == y!...))
- Parameters:
dt (DatatypeSortRef)
- Return type:
list[Proof]