Instances For
theorem
Noperthedron.Solution.Row.validSplitParam_iff
(tab : Table)
(row : Row)
(param : Param)
:
ValidSplitParam tab row param ↔ row.ID < row.IDfirstChild ∧ ∃ (bound1 : row.IDfirstChild < Array.size tab) (bound2 : row.IDfirstChild + 1 < Array.size tab),
tab[row.IDfirstChild].interval = Interval.lower_half param row.interval ∧ tab[row.IDfirstChild + 1].interval = Interval.upper_half param row.interval
@[implicit_reducible]
instance
Noperthedron.Solution.instDecidableValidSplitParam
(tab : Table)
(row : Row)
(param : Param)
:
Decidable (Row.ValidSplitParam tab row param)
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[implicit_reducible]
instance
Noperthedron.Solution.Row.instDecidableValidBinarySplit
(tab : Table)
(row : Row)
:
Decidable (ValidBinarySplit tab row)
@[implicit_reducible]
instance
Noperthedron.Solution.Table.instDecidableHasIntervals
(tab : Table)
(start : ℕ)
(intervals : List Interval)
:
Decidable (tab.HasIntervals start intervals)
Equations
- tab.instDecidableHasIntervals start intervals = Noperthedron.Solution.Table.instDecidableHasIntervals._aux_1 tab start intervals
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[implicit_reducible]
instance
Noperthedron.Solution.Row.instDecidableValidFullSplit
(tab : Table)
(row : Row)
:
Decidable (ValidFullSplit tab row)
Equations
- Noperthedron.Solution.Row.ValidSplit tab row = (row.nodeType = 3 ∧ (Noperthedron.Solution.Row.ValidBinarySplit tab row ∨ Noperthedron.Solution.Row.ValidFullSplit tab row))
Instances For
@[implicit_reducible]
instance
Noperthedron.Solution.Row.instDecidableValidSplit
(tab : Table)
(row : Row)
:
Decidable (ValidSplit tab row)
Equations
- asSplit {tab : Table} {row : Row} : ValidSplit tab row → Valid tab row
- asGlobal {tab : Table} {row : Row} : row.ValidGlobal → Valid tab row
- asLocal {tab : Table} {row : Row} : row.ValidLocal → Valid tab row
Instances For
@[implicit_reducible]
Equations
- Noperthedron.Solution.instDecidableValid tab row = decidable_of_iff (Noperthedron.Solution.Row.ValidSplit tab row ∨ row.ValidGlobal ∨ row.ValidLocal) ⋯
Equations
- Noperthedron.Solution.Row.ValidIx tab i row = (row.ID = i ∧ Noperthedron.Solution.Row.Valid tab row ∧ row.ID < Array.size tab)
Instances For
@[implicit_reducible]
Equations
Equations
- tab.Valid = ∀ (i : Fin (Array.size tab)), Noperthedron.Solution.Row.ValidIx tab (↑i) tab[i]
Instances For
@[implicit_reducible]
Equations
theorem
Noperthedron.Solution.Table.Valid.valid_at
{tab : Table}
(htab : tab.Valid)
{i : ℕ}
(hi : i < Array.size tab)
:
Row.ValidIx tab i tab[i]
Equations
Instances For
The minimum endpoint of an Interval, viewed as a Pose ℝ via Rat.cast.
Equations
- iv.minPose = { θ₁ := ↑(PoseInterval.min iv).θ₁, θ₂ := ↑(PoseInterval.min iv).θ₂, φ₁ := ↑(PoseInterval.min iv).φ₁, φ₂ := ↑(PoseInterval.min iv).φ₂, α := ↑(PoseInterval.min iv).α }
Instances For
The maximum endpoint of an Interval, viewed as a Pose ℝ via Rat.cast.
Equations
- iv.maxPose = { θ₁ := ↑(PoseInterval.max iv).θ₁, θ₂ := ↑(PoseInterval.max iv).θ₂, φ₁ := ↑(PoseInterval.max iv).φ₁, φ₂ := ↑(PoseInterval.max iv).φ₂, α := ↑(PoseInterval.max iv).α }
Instances For
Equations
- iv.toReal = PoseInterval.mk iv.minPose iv.maxPose ⋯
Instances For
Equations
- row.toRealInterval = row.interval.toReal
Instances For
@[implicit_reducible]
The set of poses lying in the rational interval, defined as Set.Icc of the
min/max endpoints; agrees definitionally with iv.toReal.
Equations
- Noperthedron.Solution.instCoeIntervalSetPoseReal = { coe := fun (iv : Noperthedron.Solution.Interval) => Set.Icc iv.minPose iv.maxPose }
theorem
Noperthedron.Solution.has_intervals_start_in_table
(tab : Table)
(n : ℕ)
(ivs : List Interval)
(hivs : 1 ≤ ivs.length)
(hi : tab.HasIntervals n ivs)
:
theorem
Noperthedron.Solution.has_intervals_concat
(tab : Table)
(start : ℕ)
(ivs1 ivs2 : List Interval)
:
tab.HasIntervals start (ivs1 ++ ivs2) ↔ tab.HasIntervals start ivs1 ∧ tab.HasIntervals (start + ivs1.length) ivs2