Bit-vectors over nullables, sort-erased #
One lifted constructor per liftable operator, <id>?, each answering none unless every argument
is some.
Only the non-indexed operators lift. An indexed one — bvExtract, bvRepeat and the rest — is
applied through an Op carrying its indices, and mkNullableLift takes a Kind, so there is no
way to express it.
bvSdiv lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvSdiv? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_SDIV #[lft, rgt]
Instances For
bvComp lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvComp? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_COMP #[lft, rgt]
Instances For
bvRedand lifted over nullables, strictly: none unless every argument is some.
Equations
- bv.bvRedand? = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_REDAND #[bv]
Instances For
bvNand lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvNand? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_NAND #[lft, rgt]
Instances For
bvUltbv lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvUltbv? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_ULTBV #[lft, rgt]
Instances For
bvConcat lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvConcat? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_CONCAT #[lft, rgt]
Instances For
bvSmulo lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvSmulo? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_SMULO #[lft, rgt]
Instances For
bvSub lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvSub? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_SUB #[lft, rgt]
Instances For
bvSmod lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvSmod? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_SMOD #[lft, rgt]
Instances For
bvNot lifted over nullables, strictly: none unless every argument is some.
Equations
- bv.bvNot? = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_NOT #[bv]
Instances For
bvSge lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvSge? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_SGE #[lft, rgt]
Instances For
bvUdiv lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvUdiv? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_UDIV #[lft, rgt]
Instances For
bvAnd lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvAnd? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_AND #[lft, rgt]
Instances For
bvSgt lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvSgt? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_SGT #[lft, rgt]
Instances For
bvXor lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvXor? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_XOR #[lft, rgt]
Instances For
bvOr lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvOr? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_OR #[lft, rgt]
Instances For
bvUle lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvUle? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_ULE #[lft, rgt]
Instances For
bvShl lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvShl? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_SHL #[lft, rgt]
Instances For
bvUge lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvUge? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_UGE #[lft, rgt]
Instances For
bvUlt lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvUlt? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_ULT #[lft, rgt]
Instances For
bvSbvToInt lifted over nullables, strictly: none unless every argument is some.
Equations
- bv.bvSbvToInt? = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_SBV_TO_INT #[bv]
Instances For
bvAshr lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvAshr? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_ASHR #[lft, rgt]
Instances For
bvIte lifted over nullables, strictly: none unless every argument is some.
Equations
- cnd.bvIte? thn els = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_ITE #[cnd, thn, els]
Instances For
bvSaddo lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvSaddo? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_SADDO #[lft, rgt]
Instances For
bvRedor lifted over nullables, strictly: none unless every argument is some.
Equations
- bv.bvRedor? = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_REDOR #[bv]
Instances For
bvLshr lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvLshr? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_LSHR #[lft, rgt]
Instances For
bvUgt lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvUgt? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_UGT #[lft, rgt]
Instances For
bvSsubo lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvSsubo? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_SSUBO #[lft, rgt]
Instances For
bvSltbv lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvSltbv? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_SLTBV #[lft, rgt]
Instances For
bvUaddo lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvUaddo? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_UADDO #[lft, rgt]
Instances For
bvSlt lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvSlt? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_SLT #[lft, rgt]
Instances For
bvUbvToInt lifted over nullables, strictly: none unless every argument is some.
Equations
- bv.bvUbvToInt? = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_UBV_TO_INT #[bv]
Instances For
bvNego lifted over nullables, strictly: none unless every argument is some.
Equations
- bv.bvNego? = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_NEGO #[bv]
Instances For
bvUsubo lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvUsubo? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_USUBO #[lft, rgt]
Instances For
bvXnor lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvXnor? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_XNOR #[lft, rgt]
Instances For
bvAdd lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvAdd? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_ADD #[lft, rgt]
Instances For
bvNeg lifted over nullables, strictly: none unless every argument is some.
Equations
- bv.bvNeg? = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_NEG #[bv]
Instances For
bvSdivo lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvSdivo? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_SDIVO #[lft, rgt]
Instances For
bvSrem lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvSrem? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_SREM #[lft, rgt]
Instances For
bvUrem lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvUrem? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_UREM #[lft, rgt]
Instances For
bvSle lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvSle? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_SLE #[lft, rgt]
Instances For
bvUmulo lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvUmulo? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_UMULO #[lft, rgt]
Instances For
bvMul lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvMul? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_MULT #[lft, rgt]
Instances For
bvNor lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bvNor? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BITVECTOR_NOR #[lft, rgt]