Relates Srt-s to Type-s #
Main class Srt.Bij (α : Type) associates srt : Srt to α. It guarantees this association works
both ways by asking for a proof that α = srt.toType.
@[reducible, inline]
Retrieves the Srt corresponding to a Type.
Equations
Instances For
@[reducible, inline]
Retrieves the Srt corresponding to a Type.
Equations
Instances For
Instances for simple types #
Equations
- Cvc.Srt.Bij.instUnit = { srt := Cvc.Srt.unit, h_bij := Cvc.Srt.Bij.instUnit._proof_2 }
Equations
- Cvc.Srt.Bij.instBool = { srt := Cvc.Srt.bool, h_bij := Cvc.Srt.Bij.instBool._proof_3 }
Equations
- Cvc.Srt.Bij.instInt = { srt := Cvc.Srt.int, h_bij := Cvc.Srt.Bij.instInt._proof_4 }
Equations
- Cvc.Srt.Bij.instRat = { srt := Cvc.Srt.real, h_bij := Cvc.Srt.Bij.instRat._proof_5 }
Equations
- Cvc.Srt.Bij.instString = { srt := Cvc.Srt.string, h_bij := Cvc.Srt.Bij.instString._proof_6 }
Equations
- Cvc.Srt.Bij.instRoundingMode = { srt := Cvc.Srt.roundingMode, h_bij := Cvc.Srt.Bij.instRoundingMode._proof_7 }
Equations
- Cvc.Srt.Bij.instRegex = { srt := Cvc.Srt.regex, h_bij := Cvc.Srt.Bij.instRegex._proof_8 }
Instances for non-Srt-parameterized types #
Equations
- Cvc.Srt.Bij.instAnyFloat = { srt := Cvc.Srt.float exp sig, h_bij := ⋯ }
Equations
- Cvc.Srt.Bij.instAbstract = { srt := Cvc.Srt.abstract k, h_bij := ⋯ }
Equations
- Cvc.Srt.Bij.instFiniteField = { srt := Cvc.Srt.finiteField n, h_bij := ⋯ }
Equations
- Cvc.Srt.Bij.instBitVec = { srt := Cvc.Srt.bitVec size, h_bij := ⋯ }
Equations
- Cvc.Srt.Bij.instUninterpreted = { srt := Cvc.Srt.uninterpreted name, h_bij := ⋯ }
Instances composite types #
Equations
- Cvc.Srt.Bij.instArray = { srt := (Cvc.Srt.Bij.srt α).seq, h_bij := ⋯ }
Equations
- Cvc.Srt.Bij.instFunction = { srt := (Cvc.Srt.Bij.srt α).function (Cvc.Srt.Bij.srt β), h_bij := ⋯ }
Equations
- Cvc.Srt.Bij.instProd = { srt := (Cvc.Srt.Bij.srt α).prod (Cvc.Srt.Bij.srt β), h_bij := ⋯ }
Equations
- Cvc.Srt.Bij.instTMap = { srt := (Cvc.Srt.Bij.srt α).array (Cvc.Srt.Bij.srt β), h_bij := ⋯ }
Equations
- Cvc.Srt.Bij.instBag = { srt := (Cvc.Srt.Bij.srt α).bag, h_bij := ⋯ }
Equations
- Cvc.Srt.Bij.instSet = { srt := (Cvc.Srt.Bij.srt α).set, h_bij := ⋯ }
@[reducible, inline]
Proof that the sort associated to α is arithmetic.
Equations
- Cvc.is_arith α = (Cvc.Srt.ofType α).is_arith
Instances For
Equations
- One or more equations did not get rendered due to their size.
@[simp]
def
Cvc.is_arith_srt_def
(α : Type)
[inst : Srt.Bij α]
:
Cvc.is_arith α → Srt.Bij.srt α = Srt.int ∨ Srt.Bij.srt α = Srt.real
Equations
- ⋯ = ⋯
Instances For
Extends Srt.Bij with a proof that α's Srt is arithmetic.
- h_arith : Cvc.is_arith α
Sort
srtis an arithmetic sort.
Instances
Equations
- Cvc.Srt.Bij.Arith.instInt = { toBij := Cvc.Srt.Bij.instInt, h_arith := Cvc.Srt.Bij.Arith.instInt._proof_58 }
Equations
- Cvc.Srt.Bij.Arith.instRat = { toBij := Cvc.Srt.Bij.instRat, h_arith := Cvc.Srt.Bij.Arith.instRat._proof_59 }