(possibly unbounded) intervals #
This file defines the Interval type for computation in the inclusion tactic. This
type represents a possibly unbounded interval with closed endpoints.
@[instance_reducible]
Equations
@[instance_reducible]
Equations
Apply a function to the finite endpoints of an interval.
Equations
- I.map f = { lb := WithBot.map f I.lb, ub := WithTop.map f I.ub }
Instances For
The interval unbounded on both sides.
Instances For
@[instance_reducible]
Equations
- Inclusion.instUnivInterval = { univ := Inclusion.Interval.univ α, mem_univ := ⋯ }
The interval whose two endpoints are a.
Equations
- Inclusion.Interval.singleton a = { lb := ↑a, ub := ↑a }
Instances For
@[instance_reducible]
Equations
- Inclusion.instRefineInterval = { refine := Inclusion.Interval.inter, mem_refine := ⋯ }
@[simp]
theorem Inclusion.Interval.map_inter {α : Type u_1} {β : Type u_2} [LinearOrder α] [LinearOrder β] (f : α ↪o β) (I J : Interval α) :
theorem Inclusion.Interval.inter_mem {α : Type u_1} {β : Type u_2} [LinearOrder α] [LinearOrder β] (f : α ↪o β) {x : β} {I J : Interval α} (hxI : x ∈ I.map ⇑f) (hxJ : x ∈ J.map ⇑f) :
theorem Inclusion.Interval.mem_hull_left {α : Type u_1} [LinearOrder α] {x : α} {I J : Interval α} (hx : x ∈ I) :
theorem Inclusion.Interval.mem_hull_right {α : Type u_1} [LinearOrder α] {x : α} {I J : Interval α} (hx : x ∈ J) :
@[instance_reducible]
Equations
- Inclusion.instCoarsenInterval = { coarsen := Inclusion.Interval.hull, mem_coarsen_left := ⋯, mem_coarsen_right := ⋯ }
@[simp]
theorem Inclusion.Interval.map_hull {α : Type u_1} {β : Type u_2} [LinearOrder α] [LinearOrder β] (f : α ↪o β) (I J : Interval α) :
theorem Inclusion.Interval.hull_mem_left {α : Type u_1} {β : Type u_2} [LinearOrder α] [LinearOrder β] (f : α ↪o β) {x : β} {I J : Interval α} (hx : x ∈ I.map ⇑f) :
theorem Inclusion.Interval.hull_mem_right {α : Type u_1} {β : Type u_2} [LinearOrder α] [LinearOrder β] (f : α ↪o β) {x : β} {I J : Interval α} (hx : x ∈ J.map ⇑f) :
def Inclusion.Interval.abs {α : Type u_1} [Zero α] [Neg α] [LinearOrder α] (I : Interval α) :
Interval α
Take the absolute value of an interval.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem Inclusion.Interval.abs_mem {α : Type u_1} {β : Type u_2} [Zero α] [Neg α] [LinearOrder α] [AddCommGroup β] [LinearOrder β] [IsOrderedAddMonoid β] (f : α ↪o β) (map_zero : f 0 = 0) (map_neg : ∀ (a : α), f (-a) = -f a) {x : β} {I : Interval α} (hx : x ∈ I.map ⇑f) :
Multiply two finite or infinite interval bounds.
Equations
Instances For
def Inclusion.Interval.mul {α : Type u_1} [Mul α] [Zero α] [LinearOrder α] (I J : Interval α) :
Interval α
Multiply two intervals.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem Inclusion.Interval.mul_mem {α : Type u_1} {β : Type u_2} [Mul α] [Zero α] [LinearOrder α] [Ring β] [LinearOrder β] [IsStrictOrderedRing β] (f : α ↪o β) (map_zero : f 0 = 0) (map_mul : ∀ (a b : α), f (a * b) = f a * f b) {x y : β} {I J : Interval α} (hx : x ∈ I.map ⇑f) (hy : y ∈ J.map ⇑f) :
theorem Inclusion.Interval.pow_mem {α : Type u_1} {β : Type u_2} [Pow α ℕ] [Zero α] [One α] [Neg α] [LinearOrder α] [Ring β] [LinearOrder β] [IsStrictOrderedRing β] (f : α ↪o β) (map_zero : f 0 = 0) (map_one : f 1 = 1) (map_neg : ∀ (a : α), f (-a) = -f a) (map_pow : ∀ (a : α) (n : ℕ), f (a ^ n) = f a ^ n) (n : ℕ) {x : β} {I : Interval α} (hx : x ∈ I.map ⇑f) :
def Inclusion.Interval.orderRelFalse {α : Type u_1} (r : α → α → Prop) [DecidableRel r] (I J : Interval α) :
Check if r x y is false is implied by x ∈ I and y ∈ J
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem Inclusion.Interval.orderRelFalse_mem {α : Type u_1} {β : Type u_2} [Preorder β] {r : α → α → Prop} {s : β → β → Prop} [DecidableRel r] [Trans (fun (x1 x2 : β) => x1 ≤ x2) s s] [Trans s (fun (x1 x2 : β) => x1 ≤ x2) s] (f : r ↪r s) {x y : β} {I J : Interval α} (hx : x ∈ I.map ⇑f) (hy : y ∈ J.map ⇑f) :
def Inclusion.Interval.orderRel {α : Type u_1} (r : α → α → Prop) [DecidableRel r] (I J : Interval α) :
Check if r x y is implied (true or false) by x ∈ I and y ∈ J.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem Inclusion.Interval.orderRel_mem {α : Type u_1} {β : Type u_2} [Preorder β] {r : α → α → Prop} {s : β → β → Prop} [DecidableRel r] [Trans (fun (x1 x2 : β) => x1 ≤ x2) s s] [Trans s (fun (x1 x2 : β) => x1 ≤ x2) s] (f : r ↪r s) {x y : β} {I J : Interval α} (hx : x ∈ I.map ⇑f) (hy : y ∈ J.map ⇑f) :
Check if x ≤ y is implied (true or false) by x ∈ I and y ∈ J
Equations
- One or more equations did not get rendered due to their size.
Instances For
Check if x < y is implied (true or false) by x ∈ I and y ∈ J.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Check if x = y is implied (true or false) by x ∈ I and y ∈ J.