Bags over nullables, sort-erased #
One lifted constructor per liftable operator, <id>?, each answering none unless every argument
is some.
The bag term becomes nullable, not its elements: (Nullable (Bag T)), not (Bag (Nullable T)).
bagAll lifted over nullables, strictly: none unless every argument is some.
Equations
- p.bagAll? b = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BAG_ALL #[p, b]
Instances For
bagFold lifted over nullables, strictly: none unless every argument is some.
Equations
- f.bagFold? init b = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BAG_FOLD #[f, init, b]
Instances For
bagDifferenceSubtract lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bagDifferenceSubtract? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BAG_DIFFERENCE_SUBTRACT #[lft, rgt]
Instances For
bagCount lifted over nullables, strictly: none unless every argument is some.
Equations
- elm.bagCount? b = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BAG_COUNT #[elm, b]
Instances For
bagUnionDisjoint lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bagUnionDisjoint? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BAG_UNION_DISJOINT #[lft, rgt]
Instances For
bagMap lifted over nullables, strictly: none unless every argument is some.
Equations
- f.bagMap? b = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BAG_MAP #[f, b]
Instances For
bagDifferenceRemove lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bagDifferenceRemove? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BAG_DIFFERENCE_REMOVE #[lft, rgt]
Instances For
bagUnionDisjoint? over two or more terms.
Equations
- Cvc.Untyped.Term.bagUnionDisjointN? terms atLeastTwoElements = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BAG_UNION_DISJOINT terms
Instances For
bagCard lifted over nullables, strictly: none unless every argument is some.
Equations
- b.bagCard? = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BAG_CARD #[b]
Instances For
bagFilter lifted over nullables, strictly: none unless every argument is some.
Equations
- p.bagFilter? b = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BAG_FILTER #[p, b]
Instances For
bagUnionMax? over two or more terms.
Equations
- Cvc.Untyped.Term.bagUnionMaxN? terms atLeastTwoElements = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BAG_UNION_MAX terms
Instances For
bagSome lifted over nullables, strictly: none unless every argument is some.
Equations
- p.bagSome? b = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BAG_SOME #[p, b]
Instances For
bagInterMin? over two or more terms.
Equations
- Cvc.Untyped.Term.bagInterMinN? terms atLeastTwoElements = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BAG_INTER_MIN terms
Instances For
bagMember lifted over nullables, strictly: none unless every argument is some.
Equations
- elm.bagMember? b = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BAG_MEMBER #[elm, b]
Instances For
bagSetof lifted over nullables, strictly: none unless every argument is some.
Equations
- b.bagSetof? = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BAG_SETOF #[b]
Instances For
bagPartition lifted over nullables, strictly: none unless every argument is some.
Equations
- p.bagPartition? b = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BAG_PARTITION #[p, b]
Instances For
bagUnionMax lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bagUnionMax? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BAG_UNION_MAX #[lft, rgt]
Instances For
bagChoose lifted over nullables, strictly: none unless every argument is some.
Equations
- b.bagChoose? = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BAG_CHOOSE #[b]
Instances For
bagSubbag lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bagSubbag? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BAG_SUBBAG #[lft, rgt]
Instances For
bagInterMin lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.bagInterMin? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BAG_INTER_MIN #[lft, rgt]
Instances For
bagMake lifted over nullables, strictly: none unless every argument is some.
Equations
- elm.bagMake? count = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.BAG_MAKE #[elm, count]