analysis.convex.between
⟷
Mathlib.Analysis.Convex.Between
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
Or in other words, length along a line segment is the distance between its endpoints.
This also proves that the d
-dimensional Hausdorff measure scales by a factor of ‖r‖₊ ^ d
when the set is scaled by r
(both linearly and affinely), and that it is translation-invariant.
@@ -63,6 +63,10 @@ lemma left_mem_affine_segment (x y : P) : x ∈ affine_segment R x y :=
lemma right_mem_affine_segment (x y : P) : y ∈ affine_segment R x y :=
⟨1, set.right_mem_Icc.2 zero_le_one, line_map_apply_one _ _⟩
+@[simp] lemma affine_segment_same (x : P) : affine_segment R x x = {x} :=
+by simp_rw [affine_segment, line_map_same, affine_map.coe_const,
+ (set.nonempty_Icc.mpr zero_le_one).image_const]
+
include V'
variables {R}
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(first ported)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -3,7 +3,7 @@ Copyright (c) 2022 Joseph Myers. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Joseph Myers
-/
-import Data.Set.Intervals.Group
+import Algebra.Order.Interval.Set.Group
import Analysis.Convex.Segment
import LinearAlgebra.AffineSpace.FiniteDimensional
import Tactic.FieldSimp
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -355,7 +355,7 @@ alias ⟨Wbtw.symm, _⟩ := wbtw_comm
#print sbtw_comm /-
theorem sbtw_comm {x y z : P} : Sbtw R x y z ↔ Sbtw R z y x := by
- rw [Sbtw, Sbtw, wbtw_comm, ← and_assoc', ← and_assoc', and_right_comm]
+ rw [Sbtw, Sbtw, wbtw_comm, ← and_assoc, ← and_assoc, and_right_comm]
#align sbtw_comm sbtw_comm
-/
@@ -543,7 +543,7 @@ theorem wbtw_lineMap_iff [NoZeroSMulDivisors R V] {x y : P} {r : R} :
theorem sbtw_lineMap_iff [NoZeroSMulDivisors R V] {x y : P} {r : R} :
Sbtw R x (lineMap x y r) y ↔ x ≠ y ∧ r ∈ Set.Ioo (0 : R) 1 :=
by
- rw [sbtw_iff_mem_image_Ioo_and_ne, and_comm', and_congr_right]
+ rw [sbtw_iff_mem_image_Ioo_and_ne, and_comm, and_congr_right]
intro hxy
rw [(line_map_injective R hxy).mem_set_image]
#align sbtw_line_map_iff sbtw_lineMap_iff
@@ -1095,7 +1095,7 @@ theorem Collinear.wbtw_or_wbtw_or_wbtw {x y z : P} (h : Collinear R ({x, y, z} :
rcases lt_trichotomy ty 0 with (hy0 | rfl | hy0)
· rcases lt_trichotomy tz 0 with (hz0 | rfl | hz0)
· nth_rw 2 [wbtw_comm]
- rw [← or_assoc']
+ rw [← or_assoc]
exact Or.inl (wbtw_or_wbtw_smul_vadd_of_nonpos _ _ hy0.le hz0.le)
· simp
· exact Or.inr (Or.inr (wbtw_smul_vadd_smul_vadd_of_nonneg_of_nonpos _ _ hz0.le hy0.le))
@@ -1104,7 +1104,7 @@ theorem Collinear.wbtw_or_wbtw_or_wbtw {x y z : P} (h : Collinear R ({x, y, z} :
· refine' Or.inr (Or.inr (wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg _ _ hz0.le hy0.le))
· simp
· nth_rw 2 [wbtw_comm]
- rw [← or_assoc']
+ rw [← or_assoc]
exact Or.inl (wbtw_or_wbtw_smul_vadd_of_nonneg _ _ hy0.le hz0.le)
#align collinear.wbtw_or_wbtw_or_wbtw Collinear.wbtw_or_wbtw_or_wbtw
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -201,7 +201,7 @@ theorem Function.Injective.wbtw_map_iff {x y z : P} {f : P →ᵃ[R] P'} (hf : F
Wbtw R (f x) (f y) (f z) ↔ Wbtw R x y z :=
by
refine' ⟨fun h => _, fun h => h.map _⟩
- rwa [Wbtw, ← affineSegment_image, hf.mem_set_image] at h
+ rwa [Wbtw, ← affineSegment_image, hf.mem_set_image] at h
#align function.injective.wbtw_map_iff Function.Injective.wbtw_map_iff
-/
@@ -407,7 +407,7 @@ variable {R}
theorem Wbtw.left_ne_right_of_ne_left {x y z : P} (h : Wbtw R x y z) (hne : y ≠ x) : x ≠ z :=
by
rintro rfl
- rw [wbtw_self_iff] at h
+ rw [wbtw_self_iff] at h
exact hne h
#align wbtw.left_ne_right_of_ne_left Wbtw.left_ne_right_of_ne_left
-/
@@ -416,7 +416,7 @@ theorem Wbtw.left_ne_right_of_ne_left {x y z : P} (h : Wbtw R x y z) (hne : y
theorem Wbtw.left_ne_right_of_ne_right {x y z : P} (h : Wbtw R x y z) (hne : y ≠ z) : x ≠ z :=
by
rintro rfl
- rw [wbtw_self_iff] at h
+ rw [wbtw_self_iff] at h
exact hne h
#align wbtw.left_ne_right_of_ne_right Wbtw.left_ne_right_of_ne_right
-/
@@ -455,18 +455,18 @@ theorem wbtw_swap_left_iff [NoZeroSMulDivisors R V] {x y : P} (z : P) :
· rintro ⟨hxyz, hyxz⟩
rcases hxyz with ⟨ty, hty, rfl⟩
rcases hyxz with ⟨tx, htx, hx⟩
- simp_rw [line_map_apply, ← add_vadd] at hx
+ simp_rw [line_map_apply, ← add_vadd] at hx
rw [← @vsub_eq_zero_iff_eq V, vadd_vsub, vsub_vadd_eq_vsub_sub, smul_sub, smul_smul, ← sub_smul,
- ← add_smul, smul_eq_zero] at hx
+ ← add_smul, smul_eq_zero] at hx
rcases hx with (h | h)
- · nth_rw 1 [← mul_one tx] at h
- rw [← mul_sub, add_eq_zero_iff_neg_eq] at h
+ · nth_rw 1 [← mul_one tx] at h
+ rw [← mul_sub, add_eq_zero_iff_neg_eq] at h
have h' : ty = 0 := by
refine' le_antisymm _ hty.1
rw [← h, Left.neg_nonpos_iff]
exact mul_nonneg htx.1 (sub_nonneg.2 hty.2)
simp [h']
- · rw [vsub_eq_zero_iff_eq] at h
+ · rw [vsub_eq_zero_iff_eq] at h
simp [h]
· rintro rfl
exact ⟨wbtw_self_left _ _ _, wbtw_self_left _ _ _⟩
@@ -692,11 +692,11 @@ theorem Sbtw.affineCombination_of_mem_affineSpan_pair [NoZeroDivisors R] [NoZero
{i : ι} (his : i ∈ s) (hs : Sbtw R (w₁ i) (w i) (w₂ i)) :
Sbtw R (s.affineCombination R p w₁) (s.affineCombination R p w) (s.affineCombination R p w₂) :=
by
- rw [affineCombination_mem_affineSpan_pair ha hw hw₁ hw₂] at h
+ rw [affineCombination_mem_affineSpan_pair ha hw hw₁ hw₂] at h
rcases h with ⟨r, hr⟩
- dsimp only at hr
- rw [hr i his, sbtw_mul_sub_add_iff] at hs
- change ∀ i ∈ s, w i = (r • (w₂ - w₁) + w₁) i at hr
+ dsimp only at hr
+ rw [hr i his, sbtw_mul_sub_add_iff] at hs
+ change ∀ i ∈ s, w i = (r • (w₂ - w₁) + w₁) i at hr
rw [s.affine_combination_congr hr fun _ _ => rfl]
dsimp only
rw [← s.weighted_vsub_vadd_affine_combination, s.weighted_vsub_const_smul, ←
@@ -707,7 +707,7 @@ theorem Sbtw.affineCombination_of_mem_affineSpan_pair [NoZeroDivisors R] [NoZero
simp_rw [Pi.sub_apply, Finset.sum_sub_distrib, hw₁, hw₂, sub_self]
refine' hs.1 _
have ha' := ha s (w₁ - w₂) hw₁w₂ hz i his
- rwa [Pi.sub_apply, sub_eq_zero] at ha'
+ rwa [Pi.sub_apply, sub_eq_zero] at ha'
#align sbtw.affine_combination_of_mem_affine_span_pair Sbtw.affineCombination_of_mem_affineSpan_pair
-/
@@ -780,13 +780,13 @@ theorem sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair [NoZeroSMulDivisors R V]
refine' affineSpan_pair_le_of_mem_of_mem (mem_affineSpan _ (Set.mem_range_self _)) _
have hle : line[R, t.points i₂, t.points i₃] ≤ affineSpan R (Set.range t.points) := by
refine' affineSpan_mono _ _; simp [Set.insert_subset_iff]
- rw [AffineSubspace.le_def'] at hle
+ rw [AffineSubspace.le_def'] at hle
exact hle _ h₁.wbtw.mem_affine_span
- rw [AffineSubspace.le_def'] at hle
+ rw [AffineSubspace.le_def'] at hle
exact hle _ h₁'
have h₁i := h₁.mem_image_Ioo
have h₂i := h₂.mem_image_Ioo
- rw [Set.mem_image] at h₁i h₂i
+ rw [Set.mem_image] at h₁i h₂i
rcases h₁i with ⟨r₁, ⟨hr₁0, hr₁1⟩, rfl⟩
rcases h₂i with ⟨r₂, ⟨hr₂0, hr₂1⟩, rfl⟩
rcases eq_affineCombination_of_mem_affineSpan_of_fintype hp with ⟨w, hw, rfl⟩
@@ -796,7 +796,7 @@ theorem sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair [NoZeroSMulDivisors R V]
have h₂s :=
sign_eq_of_affineCombination_mem_affineSpan_single_lineMap t.independent hw (Finset.mem_univ _)
(Finset.mem_univ _) (Finset.mem_univ _) h₁₂.symm h₂₃ h₁₃ hr₂0 hr₂1 h₂'
- dsimp only at h₁s h₂s
+ dsimp only at h₁s h₂s
rw [←
finset.univ.affine_combination_affine_combination_single_weights R t.points
(Finset.mem_univ i₁),
@@ -821,13 +821,13 @@ theorem sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair [NoZeroSMulDivisors R V]
· rfl
have hss : SignType.sign (∑ i, w i) = 1 := by simp [hw]
have hs' := sign_sum Finset.univ_nonempty (SignType.sign (w i₃)) fun i _ => hs i
- rw [hs'] at hss
- simp_rw [hss, sign_eq_one_iff] at hs
+ rw [hs'] at hss
+ simp_rw [hss, sign_eq_one_iff] at hs
refine' ⟨hs i₁, _⟩
- rw [hu] at hw
- rw [Finset.sum_insert, Finset.sum_insert, Finset.sum_singleton] at hw
+ rw [hu] at hw
+ rw [Finset.sum_insert, Finset.sum_insert, Finset.sum_singleton] at hw
· by_contra hle
- rw [not_lt] at hle
+ rw [not_lt] at hle
exact (hle.trans_lt (lt_add_of_pos_right _ (Left.add_pos (hs i₂) (hs i₃)))).ne' hw
· simp [h₂₃]
· simp [h₁₂, h₁₃]
@@ -856,7 +856,7 @@ theorem wbtw_iff_left_eq_or_right_mem_image_Ici {x y z : P} :
· simp
· rcases h with (rfl | ⟨r, ⟨hr, rfl⟩⟩)
· exact wbtw_self_left _ _ _
- · rw [Set.mem_Ici] at hr
+ · rw [Set.mem_Ici] at hr
refine' ⟨r⁻¹, ⟨inv_nonneg.2 (zero_le_one.trans hr), inv_le_one hr⟩, _⟩
simp only [line_map_apply, smul_smul, vadd_vsub]
rw [inv_mul_cancel (one_pos.trans_le hr).ne', one_smul, vsub_vadd]
@@ -885,12 +885,12 @@ theorem sbtw_iff_left_ne_and_right_mem_image_Ioi {x y z : P} :
by
refine' ⟨fun h => ⟨h.left_ne, _⟩, fun h => _⟩
· obtain ⟨r, ⟨hr, rfl⟩⟩ := h.wbtw.right_mem_image_Ici_of_left_ne h.left_ne
- rw [Set.mem_Ici] at hr
+ rw [Set.mem_Ici] at hr
rcases hr.lt_or_eq with (hrlt | rfl)
· exact Set.mem_image_of_mem _ hrlt
· exfalso; simpa using h
· rcases h with ⟨hne, r, hr, rfl⟩
- rw [Set.mem_Ioi] at hr
+ rw [Set.mem_Ioi] at hr
refine'
⟨wbtw_iff_left_eq_or_right_mem_image_Ici.2
(Or.inr (Set.mem_image_of_mem _ (Set.mem_of_mem_of_subset hr Set.Ioi_subset_Ici_self))),
@@ -1033,7 +1033,7 @@ theorem Wbtw.trans_left_right {w x y z : P} (h₁ : Wbtw R w y z) (h₂ : Wbtw R
nth_rw 1 [← mul_one (t₁ - t₂ * t₁)]
rw [← mul_sub, mul_div_assoc]
by_cases h : 1 - t₂ * t₁ = 0
- · rw [sub_eq_zero, eq_comm] at h
+ · rw [sub_eq_zero, eq_comm] at h
rw [h]
suffices t₁ = 1 by simp [this]
exact
@@ -1072,7 +1072,7 @@ theorem Wbtw.collinear {x y z : P} (h : Wbtw R x y z) : Collinear R ({x, y, z} :
rw [collinear_iff_exists_forall_eq_smul_vadd]
refine' ⟨x, z -ᵥ x, _⟩
intro p hp
- simp_rw [Set.mem_insert_iff, Set.mem_singleton_iff] at hp
+ simp_rw [Set.mem_insert_iff, Set.mem_singleton_iff] at hp
rcases hp with (rfl | rfl | rfl)
· refine' ⟨0, _⟩; simp
· rcases h with ⟨t, -, rfl⟩
@@ -1085,9 +1085,9 @@ theorem Wbtw.collinear {x y z : P} (h : Wbtw R x y z) : Collinear R ({x, y, z} :
theorem Collinear.wbtw_or_wbtw_or_wbtw {x y z : P} (h : Collinear R ({x, y, z} : Set P)) :
Wbtw R x y z ∨ Wbtw R y z x ∨ Wbtw R z x y :=
by
- rw [collinear_iff_of_mem (Set.mem_insert _ _)] at h
+ rw [collinear_iff_of_mem (Set.mem_insert _ _)] at h
rcases h with ⟨v, h⟩
- simp_rw [Set.mem_insert_iff, Set.mem_singleton_iff] at h
+ simp_rw [Set.mem_insert_iff, Set.mem_singleton_iff] at h
have hy := h y (Or.inr (Or.inl rfl))
have hz := h z (Or.inr (Or.inr rfl))
rcases hy with ⟨ty, rfl⟩
@@ -1114,8 +1114,8 @@ theorem wbtw_iff_sameRay_vsub {x y z : P} : Wbtw R x y z ↔ SameRay R (y -ᵥ x
by
refine' ⟨Wbtw.sameRay_vsub, fun h => _⟩
rcases h with (h | h | ⟨r₁, r₂, hr₁, hr₂, h⟩)
- · rw [vsub_eq_zero_iff_eq] at h ; simp [h]
- · rw [vsub_eq_zero_iff_eq] at h ; simp [h]
+ · rw [vsub_eq_zero_iff_eq] at h; simp [h]
+ · rw [vsub_eq_zero_iff_eq] at h; simp [h]
· refine'
⟨r₂ / (r₁ + r₂),
⟨div_nonneg hr₂.le (add_nonneg hr₁.le hr₂.le),
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,11 +3,11 @@ Copyright (c) 2022 Joseph Myers. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Joseph Myers
-/
-import Mathbin.Data.Set.Intervals.Group
-import Mathbin.Analysis.Convex.Segment
-import Mathbin.LinearAlgebra.AffineSpace.FiniteDimensional
-import Mathbin.Tactic.FieldSimp
-import Mathbin.Algebra.CharP.Invertible
+import Data.Set.Intervals.Group
+import Analysis.Convex.Segment
+import LinearAlgebra.AffineSpace.FiniteDimensional
+import Tactic.FieldSimp
+import Algebra.CharP.Invertible
#align_import analysis.convex.between from "leanprover-community/mathlib"@"571e13cacbed7bf042fd3058ce27157101433842"
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -350,7 +350,7 @@ theorem wbtw_comm {x y z : P} : Wbtw R x y z ↔ Wbtw R z y x := by
#align wbtw_comm wbtw_comm
-/
-alias wbtw_comm ↔ Wbtw.symm _
+alias ⟨Wbtw.symm, _⟩ := wbtw_comm
#align wbtw.symm Wbtw.symm
#print sbtw_comm /-
@@ -359,7 +359,7 @@ theorem sbtw_comm {x y z : P} : Sbtw R x y z ↔ Sbtw R z y x := by
#align sbtw_comm sbtw_comm
-/
-alias sbtw_comm ↔ Sbtw.symm _
+alias ⟨Sbtw.symm, _⟩ := sbtw_comm
#align sbtw.symm Sbtw.symm
variable (R)
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,11 +2,6 @@
Copyright (c) 2022 Joseph Myers. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Joseph Myers
-
-! This file was ported from Lean 3 source module analysis.convex.between
-! leanprover-community/mathlib commit 571e13cacbed7bf042fd3058ce27157101433842
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Data.Set.Intervals.Group
import Mathbin.Analysis.Convex.Segment
@@ -14,6 +9,8 @@ import Mathbin.LinearAlgebra.AffineSpace.FiniteDimensional
import Mathbin.Tactic.FieldSimp
import Mathbin.Algebra.CharP.Invertible
+#align_import analysis.convex.between from "leanprover-community/mathlib"@"571e13cacbed7bf042fd3058ce27157101433842"
+
/-!
# Betweenness in affine spaces
mathlib commit https://github.com/leanprover-community/mathlib/commit/8b981918a93bc45a8600de608cde7944a80d92b9
@@ -782,7 +782,7 @@ theorem sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair [NoZeroSMulDivisors R V]
by
refine' affineSpan_pair_le_of_mem_of_mem (mem_affineSpan _ (Set.mem_range_self _)) _
have hle : line[R, t.points i₂, t.points i₃] ≤ affineSpan R (Set.range t.points) := by
- refine' affineSpan_mono _ _; simp [Set.insert_subset]
+ refine' affineSpan_mono _ _; simp [Set.insert_subset_iff]
rw [AffineSubspace.le_def'] at hle
exact hle _ h₁.wbtw.mem_affine_span
rw [AffineSubspace.le_def'] at hle
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -43,8 +43,6 @@ variable [OrderedRing R] [AddCommGroup V] [Module R V] [AddTorsor V P]
variable [AddCommGroup V'] [Module R V'] [AddTorsor V' P']
-include V
-
#print affineSegment /-
/-- The segment of points weakly between `x` and `y`. When convexity is refactored to support
abstract affine combination spaces, this will no longer need to be a separate definition from
@@ -61,6 +59,7 @@ theorem affineSegment_eq_segment (x y : V) : affineSegment R x y = segment R x y
#align affine_segment_eq_segment affineSegment_eq_segment
-/
+#print affineSegment_comm /-
theorem affineSegment_comm (x y : P) : affineSegment R x y = affineSegment R y x :=
by
refine' Set.ext fun z => _
@@ -70,25 +69,31 @@ theorem affineSegment_comm (x y : P) : affineSegment R x y = affineSegment R y x
· rwa [Set.sub_mem_Icc_iff_right, sub_self, sub_zero]
· rwa [line_map_apply_one_sub]
#align affine_segment_comm affineSegment_comm
+-/
+#print left_mem_affineSegment /-
theorem left_mem_affineSegment (x y : P) : x ∈ affineSegment R x y :=
⟨0, Set.left_mem_Icc.2 zero_le_one, lineMap_apply_zero _ _⟩
#align left_mem_affine_segment left_mem_affineSegment
+-/
+#print right_mem_affineSegment /-
theorem right_mem_affineSegment (x y : P) : y ∈ affineSegment R x y :=
⟨1, Set.right_mem_Icc.2 zero_le_one, lineMap_apply_one _ _⟩
#align right_mem_affine_segment right_mem_affineSegment
+-/
+#print affineSegment_same /-
@[simp]
theorem affineSegment_same (x : P) : affineSegment R x x = {x} := by
simp_rw [affineSegment, line_map_same, AffineMap.coe_const,
(set.nonempty_Icc.mpr zero_le_one).image_const]
#align affine_segment_same affineSegment_same
-
-include V'
+-/
variable {R}
+#print affineSegment_image /-
@[simp]
theorem affineSegment_image (f : P →ᵃ[R] P') (x y : P) :
f '' affineSegment R x y = affineSegment R (f x) (f y) :=
@@ -96,8 +101,7 @@ theorem affineSegment_image (f : P →ᵃ[R] P') (x y : P) :
rw [affineSegment, affineSegment, Set.image_image, ← comp_line_map]
rfl
#align affine_segment_image affineSegment_image
-
-omit V'
+-/
variable (R)
@@ -117,17 +121,21 @@ theorem affineSegment_vadd_const_image (x y : V) (p : P) :
#align affine_segment_vadd_const_image affineSegment_vadd_const_image
-/
+#print affineSegment_const_vsub_image /-
@[simp]
theorem affineSegment_const_vsub_image (x y p : P) :
(· -ᵥ ·) p '' affineSegment R x y = affineSegment R (p -ᵥ x) (p -ᵥ y) :=
affineSegment_image (AffineEquiv.constVSub R p : P →ᵃ[R] V) x y
#align affine_segment_const_vsub_image affineSegment_const_vsub_image
+-/
+#print affineSegment_vsub_const_image /-
@[simp]
theorem affineSegment_vsub_const_image (x y p : P) :
(· -ᵥ p) '' affineSegment R x y = affineSegment R (x -ᵥ p) (y -ᵥ p) :=
affineSegment_image ((AffineEquiv.vaddConst R p).symm : P →ᵃ[R] V) x y
#align affine_segment_vsub_const_image affineSegment_vsub_const_image
+-/
variable {R}
@@ -149,17 +157,21 @@ theorem mem_vadd_const_affineSegment {x y z : V} (p : P) :
variable {R}
+#print mem_const_vsub_affineSegment /-
@[simp]
theorem mem_const_vsub_affineSegment {x y z : P} (p : P) :
p -ᵥ z ∈ affineSegment R (p -ᵥ x) (p -ᵥ y) ↔ z ∈ affineSegment R x y := by
rw [← affineSegment_const_vsub_image, (vsub_right_injective p).mem_set_image]
#align mem_const_vsub_affine_segment mem_const_vsub_affineSegment
+-/
+#print mem_vsub_const_affineSegment /-
@[simp]
theorem mem_vsub_const_affineSegment {x y z : P} (p : P) :
z -ᵥ p ∈ affineSegment R (x -ᵥ p) (y -ᵥ p) ↔ z ∈ affineSegment R x y := by
rw [← affineSegment_vsub_const_image, (vsub_left_injective p).mem_set_image]
#align mem_vsub_const_affine_segment mem_vsub_const_affineSegment
+-/
variable (R)
@@ -179,25 +191,30 @@ def Sbtw (x y z : P) : Prop :=
variable {R}
-include V'
-
+#print Wbtw.map /-
theorem Wbtw.map {x y z : P} (h : Wbtw R x y z) (f : P →ᵃ[R] P') : Wbtw R (f x) (f y) (f z) :=
by
rw [Wbtw, ← affineSegment_image]
exact Set.mem_image_of_mem _ h
#align wbtw.map Wbtw.map
+-/
+#print Function.Injective.wbtw_map_iff /-
theorem Function.Injective.wbtw_map_iff {x y z : P} {f : P →ᵃ[R] P'} (hf : Function.Injective f) :
Wbtw R (f x) (f y) (f z) ↔ Wbtw R x y z :=
by
refine' ⟨fun h => _, fun h => h.map _⟩
rwa [Wbtw, ← affineSegment_image, hf.mem_set_image] at h
#align function.injective.wbtw_map_iff Function.Injective.wbtw_map_iff
+-/
+#print Function.Injective.sbtw_map_iff /-
theorem Function.Injective.sbtw_map_iff {x y z : P} {f : P →ᵃ[R] P'} (hf : Function.Injective f) :
Sbtw R (f x) (f y) (f z) ↔ Sbtw R x y z := by simp_rw [Sbtw, hf.wbtw_map_iff, hf.ne_iff]
#align function.injective.sbtw_map_iff Function.Injective.sbtw_map_iff
+-/
+#print AffineEquiv.wbtw_map_iff /-
@[simp]
theorem AffineEquiv.wbtw_map_iff {x y z : P} (f : P ≃ᵃ[R] P') :
Wbtw R (f x) (f y) (f z) ↔ Wbtw R x y z :=
@@ -205,7 +222,9 @@ theorem AffineEquiv.wbtw_map_iff {x y z : P} (f : P ≃ᵃ[R] P') :
refine' Function.Injective.wbtw_map_iff (_ : Function.Injective f.to_affine_map)
exact f.injective
#align affine_equiv.wbtw_map_iff AffineEquiv.wbtw_map_iff
+-/
+#print AffineEquiv.sbtw_map_iff /-
@[simp]
theorem AffineEquiv.sbtw_map_iff {x y z : P} (f : P ≃ᵃ[R] P') :
Sbtw R (f x) (f y) (f z) ↔ Sbtw R x y z :=
@@ -213,77 +232,103 @@ theorem AffineEquiv.sbtw_map_iff {x y z : P} (f : P ≃ᵃ[R] P') :
refine' Function.Injective.sbtw_map_iff (_ : Function.Injective f.to_affine_map)
exact f.injective
#align affine_equiv.sbtw_map_iff AffineEquiv.sbtw_map_iff
+-/
-omit V'
-
+#print wbtw_const_vadd_iff /-
@[simp]
theorem wbtw_const_vadd_iff {x y z : P} (v : V) :
Wbtw R (v +ᵥ x) (v +ᵥ y) (v +ᵥ z) ↔ Wbtw R x y z :=
mem_const_vadd_affineSegment _
#align wbtw_const_vadd_iff wbtw_const_vadd_iff
+-/
+#print wbtw_vadd_const_iff /-
@[simp]
theorem wbtw_vadd_const_iff {x y z : V} (p : P) :
Wbtw R (x +ᵥ p) (y +ᵥ p) (z +ᵥ p) ↔ Wbtw R x y z :=
mem_vadd_const_affineSegment _
#align wbtw_vadd_const_iff wbtw_vadd_const_iff
+-/
+#print wbtw_const_vsub_iff /-
@[simp]
theorem wbtw_const_vsub_iff {x y z : P} (p : P) :
Wbtw R (p -ᵥ x) (p -ᵥ y) (p -ᵥ z) ↔ Wbtw R x y z :=
mem_const_vsub_affineSegment _
#align wbtw_const_vsub_iff wbtw_const_vsub_iff
+-/
+#print wbtw_vsub_const_iff /-
@[simp]
theorem wbtw_vsub_const_iff {x y z : P} (p : P) :
Wbtw R (x -ᵥ p) (y -ᵥ p) (z -ᵥ p) ↔ Wbtw R x y z :=
mem_vsub_const_affineSegment _
#align wbtw_vsub_const_iff wbtw_vsub_const_iff
+-/
+#print sbtw_const_vadd_iff /-
@[simp]
theorem sbtw_const_vadd_iff {x y z : P} (v : V) :
Sbtw R (v +ᵥ x) (v +ᵥ y) (v +ᵥ z) ↔ Sbtw R x y z := by
simp_rw [Sbtw, wbtw_const_vadd_iff, (AddAction.injective v).ne_iff]
#align sbtw_const_vadd_iff sbtw_const_vadd_iff
+-/
+#print sbtw_vadd_const_iff /-
@[simp]
theorem sbtw_vadd_const_iff {x y z : V} (p : P) :
Sbtw R (x +ᵥ p) (y +ᵥ p) (z +ᵥ p) ↔ Sbtw R x y z := by
simp_rw [Sbtw, wbtw_vadd_const_iff, (vadd_right_injective p).ne_iff]
#align sbtw_vadd_const_iff sbtw_vadd_const_iff
+-/
+#print sbtw_const_vsub_iff /-
@[simp]
theorem sbtw_const_vsub_iff {x y z : P} (p : P) :
Sbtw R (p -ᵥ x) (p -ᵥ y) (p -ᵥ z) ↔ Sbtw R x y z := by
simp_rw [Sbtw, wbtw_const_vsub_iff, (vsub_right_injective p).ne_iff]
#align sbtw_const_vsub_iff sbtw_const_vsub_iff
+-/
+#print sbtw_vsub_const_iff /-
@[simp]
theorem sbtw_vsub_const_iff {x y z : P} (p : P) :
Sbtw R (x -ᵥ p) (y -ᵥ p) (z -ᵥ p) ↔ Sbtw R x y z := by
simp_rw [Sbtw, wbtw_vsub_const_iff, (vsub_left_injective p).ne_iff]
#align sbtw_vsub_const_iff sbtw_vsub_const_iff
+-/
+#print Sbtw.wbtw /-
theorem Sbtw.wbtw {x y z : P} (h : Sbtw R x y z) : Wbtw R x y z :=
h.1
#align sbtw.wbtw Sbtw.wbtw
+-/
+#print Sbtw.ne_left /-
theorem Sbtw.ne_left {x y z : P} (h : Sbtw R x y z) : y ≠ x :=
h.2.1
#align sbtw.ne_left Sbtw.ne_left
+-/
+#print Sbtw.left_ne /-
theorem Sbtw.left_ne {x y z : P} (h : Sbtw R x y z) : x ≠ y :=
h.2.1.symm
#align sbtw.left_ne Sbtw.left_ne
+-/
+#print Sbtw.ne_right /-
theorem Sbtw.ne_right {x y z : P} (h : Sbtw R x y z) : y ≠ z :=
h.2.2
#align sbtw.ne_right Sbtw.ne_right
+-/
+#print Sbtw.right_ne /-
theorem Sbtw.right_ne {x y z : P} (h : Sbtw R x y z) : z ≠ y :=
h.2.2.symm
#align sbtw.right_ne Sbtw.right_ne
+-/
+#print Sbtw.mem_image_Ioo /-
theorem Sbtw.mem_image_Ioo {x y z : P} (h : Sbtw R x y z) : y ∈ lineMap x z '' Set.Ioo (0 : R) 1 :=
by
rcases h with ⟨⟨t, ht, rfl⟩, hyx, hyz⟩
@@ -292,39 +337,51 @@ theorem Sbtw.mem_image_Ioo {x y z : P} (h : Sbtw R x y z) : y ∈ lineMap x z ''
· exfalso; simpa using hyz
· exact ⟨t, ho, rfl⟩
#align sbtw.mem_image_Ioo Sbtw.mem_image_Ioo
+-/
+#print Wbtw.mem_affineSpan /-
theorem Wbtw.mem_affineSpan {x y z : P} (h : Wbtw R x y z) : y ∈ line[R, x, z] :=
by
rcases h with ⟨r, ⟨-, rfl⟩⟩
exact line_map_mem_affine_span_pair _ _ _
#align wbtw.mem_affine_span Wbtw.mem_affineSpan
+-/
+#print wbtw_comm /-
theorem wbtw_comm {x y z : P} : Wbtw R x y z ↔ Wbtw R z y x := by
rw [Wbtw, Wbtw, affineSegment_comm]
#align wbtw_comm wbtw_comm
+-/
alias wbtw_comm ↔ Wbtw.symm _
#align wbtw.symm Wbtw.symm
+#print sbtw_comm /-
theorem sbtw_comm {x y z : P} : Sbtw R x y z ↔ Sbtw R z y x := by
rw [Sbtw, Sbtw, wbtw_comm, ← and_assoc', ← and_assoc', and_right_comm]
#align sbtw_comm sbtw_comm
+-/
alias sbtw_comm ↔ Sbtw.symm _
#align sbtw.symm Sbtw.symm
variable (R)
+#print wbtw_self_left /-
@[simp]
theorem wbtw_self_left (x y : P) : Wbtw R x x y :=
left_mem_affineSegment _ _ _
#align wbtw_self_left wbtw_self_left
+-/
+#print wbtw_self_right /-
@[simp]
theorem wbtw_self_right (x y : P) : Wbtw R x y y :=
right_mem_affineSegment _ _ _
#align wbtw_self_right wbtw_self_right
+-/
+#print wbtw_self_iff /-
@[simp]
theorem wbtw_self_iff {x y : P} : Wbtw R x y x ↔ y = x :=
by
@@ -333,35 +390,47 @@ theorem wbtw_self_iff {x y : P} : Wbtw R x y x ↔ y = x :=
· rw [h]
exact wbtw_self_left R x x
#align wbtw_self_iff wbtw_self_iff
+-/
+#print not_sbtw_self_left /-
@[simp]
theorem not_sbtw_self_left (x y : P) : ¬Sbtw R x x y := fun h => h.ne_left rfl
#align not_sbtw_self_left not_sbtw_self_left
+-/
+#print not_sbtw_self_right /-
@[simp]
theorem not_sbtw_self_right (x y : P) : ¬Sbtw R x y y := fun h => h.ne_right rfl
#align not_sbtw_self_right not_sbtw_self_right
+-/
variable {R}
+#print Wbtw.left_ne_right_of_ne_left /-
theorem Wbtw.left_ne_right_of_ne_left {x y z : P} (h : Wbtw R x y z) (hne : y ≠ x) : x ≠ z :=
by
rintro rfl
rw [wbtw_self_iff] at h
exact hne h
#align wbtw.left_ne_right_of_ne_left Wbtw.left_ne_right_of_ne_left
+-/
+#print Wbtw.left_ne_right_of_ne_right /-
theorem Wbtw.left_ne_right_of_ne_right {x y z : P} (h : Wbtw R x y z) (hne : y ≠ z) : x ≠ z :=
by
rintro rfl
rw [wbtw_self_iff] at h
exact hne h
#align wbtw.left_ne_right_of_ne_right Wbtw.left_ne_right_of_ne_right
+-/
+#print Sbtw.left_ne_right /-
theorem Sbtw.left_ne_right {x y z : P} (h : Sbtw R x y z) : x ≠ z :=
h.Wbtw.left_ne_right_of_ne_left h.2.1
#align sbtw.left_ne_right Sbtw.left_ne_right
+-/
+#print sbtw_iff_mem_image_Ioo_and_ne /-
theorem sbtw_iff_mem_image_Ioo_and_ne [NoZeroSMulDivisors R V] {x y z : P} :
Sbtw R x y z ↔ y ∈ lineMap x z '' Set.Ioo (0 : R) 1 ∧ x ≠ z :=
by
@@ -372,13 +441,17 @@ theorem sbtw_iff_mem_image_Ioo_and_ne [NoZeroSMulDivisors R V] {x y z : P} :
vadd_vsub_assoc, ← neg_vsub_eq_vsub_rev z x, ← @neg_one_smul R, ← add_smul, ← sub_eq_add_neg]
simp [smul_ne_zero, hxz.symm, sub_eq_zero, ht.1.Ne.symm, ht.2.Ne]
#align sbtw_iff_mem_image_Ioo_and_ne sbtw_iff_mem_image_Ioo_and_ne
+-/
variable (R)
+#print not_sbtw_self /-
@[simp]
theorem not_sbtw_self (x y : P) : ¬Sbtw R x y x := fun h => h.left_ne_right rfl
#align not_sbtw_self not_sbtw_self
+-/
+#print wbtw_swap_left_iff /-
theorem wbtw_swap_left_iff [NoZeroSMulDivisors R V] {x y : P} (z : P) :
Wbtw R x y z ∧ Wbtw R y x z ↔ x = y := by
constructor
@@ -401,7 +474,9 @@ theorem wbtw_swap_left_iff [NoZeroSMulDivisors R V] {x y : P} (z : P) :
· rintro rfl
exact ⟨wbtw_self_left _ _ _, wbtw_self_left _ _ _⟩
#align wbtw_swap_left_iff wbtw_swap_left_iff
+-/
+#print wbtw_swap_right_iff /-
theorem wbtw_swap_right_iff [NoZeroSMulDivisors R V] (x : P) {y z : P} :
Wbtw R x y z ∧ Wbtw R x z y ↔ y = z :=
by
@@ -410,37 +485,53 @@ theorem wbtw_swap_right_iff [NoZeroSMulDivisors R V] (x : P) {y z : P} :
rw [eq_comm]
exact wbtw_swap_left_iff R x
#align wbtw_swap_right_iff wbtw_swap_right_iff
+-/
+#print wbtw_rotate_iff /-
theorem wbtw_rotate_iff [NoZeroSMulDivisors R V] (x : P) {y z : P} :
Wbtw R x y z ∧ Wbtw R z x y ↔ x = y := by rw [wbtw_comm, wbtw_swap_right_iff, eq_comm]
#align wbtw_rotate_iff wbtw_rotate_iff
+-/
variable {R}
+#print Wbtw.swap_left_iff /-
theorem Wbtw.swap_left_iff [NoZeroSMulDivisors R V] {x y z : P} (h : Wbtw R x y z) :
Wbtw R y x z ↔ x = y := by rw [← wbtw_swap_left_iff R z, and_iff_right h]
#align wbtw.swap_left_iff Wbtw.swap_left_iff
+-/
+#print Wbtw.swap_right_iff /-
theorem Wbtw.swap_right_iff [NoZeroSMulDivisors R V] {x y z : P} (h : Wbtw R x y z) :
Wbtw R x z y ↔ y = z := by rw [← wbtw_swap_right_iff R x, and_iff_right h]
#align wbtw.swap_right_iff Wbtw.swap_right_iff
+-/
+#print Wbtw.rotate_iff /-
theorem Wbtw.rotate_iff [NoZeroSMulDivisors R V] {x y z : P} (h : Wbtw R x y z) :
Wbtw R z x y ↔ x = y := by rw [← wbtw_rotate_iff R x, and_iff_right h]
#align wbtw.rotate_iff Wbtw.rotate_iff
+-/
+#print Sbtw.not_swap_left /-
theorem Sbtw.not_swap_left [NoZeroSMulDivisors R V] {x y z : P} (h : Sbtw R x y z) :
¬Wbtw R y x z := fun hs => h.left_ne (h.Wbtw.swap_left_iff.1 hs)
#align sbtw.not_swap_left Sbtw.not_swap_left
+-/
+#print Sbtw.not_swap_right /-
theorem Sbtw.not_swap_right [NoZeroSMulDivisors R V] {x y z : P} (h : Sbtw R x y z) :
¬Wbtw R x z y := fun hs => h.ne_right (h.Wbtw.swap_right_iff.1 hs)
#align sbtw.not_swap_right Sbtw.not_swap_right
+-/
+#print Sbtw.not_rotate /-
theorem Sbtw.not_rotate [NoZeroSMulDivisors R V] {x y z : P} (h : Sbtw R x y z) : ¬Wbtw R z x y :=
fun hs => h.left_ne (h.Wbtw.rotate_iff.1 hs)
#align sbtw.not_rotate Sbtw.not_rotate
+-/
+#print wbtw_lineMap_iff /-
@[simp]
theorem wbtw_lineMap_iff [NoZeroSMulDivisors R V] {x y : P} {r : R} :
Wbtw R x (lineMap x y r) y ↔ x = y ∨ r ∈ Set.Icc (0 : R) 1 :=
@@ -448,7 +539,9 @@ theorem wbtw_lineMap_iff [NoZeroSMulDivisors R V] {x y : P} {r : R} :
by_cases hxy : x = y; · simp [hxy]
rw [or_iff_right hxy, Wbtw, affineSegment, (line_map_injective R hxy).mem_set_image]
#align wbtw_line_map_iff wbtw_lineMap_iff
+-/
+#print sbtw_lineMap_iff /-
@[simp]
theorem sbtw_lineMap_iff [NoZeroSMulDivisors R V] {x y : P} {r : R} :
Sbtw R x (lineMap x y r) y ↔ x ≠ y ∧ r ∈ Set.Ioo (0 : R) 1 :=
@@ -457,33 +550,41 @@ theorem sbtw_lineMap_iff [NoZeroSMulDivisors R V] {x y : P} {r : R} :
intro hxy
rw [(line_map_injective R hxy).mem_set_image]
#align sbtw_line_map_iff sbtw_lineMap_iff
+-/
-omit V
-
+#print wbtw_mul_sub_add_iff /-
@[simp]
theorem wbtw_mul_sub_add_iff [NoZeroDivisors R] {x y r : R} :
Wbtw R x (r * (y - x) + x) y ↔ x = y ∨ r ∈ Set.Icc (0 : R) 1 :=
wbtw_lineMap_iff
#align wbtw_mul_sub_add_iff wbtw_mul_sub_add_iff
+-/
+#print sbtw_mul_sub_add_iff /-
@[simp]
theorem sbtw_mul_sub_add_iff [NoZeroDivisors R] {x y r : R} :
Sbtw R x (r * (y - x) + x) y ↔ x ≠ y ∧ r ∈ Set.Ioo (0 : R) 1 :=
sbtw_lineMap_iff
#align sbtw_mul_sub_add_iff sbtw_mul_sub_add_iff
+-/
+#print wbtw_zero_one_iff /-
@[simp]
theorem wbtw_zero_one_iff {x : R} : Wbtw R 0 x 1 ↔ x ∈ Set.Icc (0 : R) 1 :=
by
simp_rw [Wbtw, affineSegment, Set.mem_image, line_map_apply_ring]
simp
#align wbtw_zero_one_iff wbtw_zero_one_iff
+-/
+#print wbtw_one_zero_iff /-
@[simp]
theorem wbtw_one_zero_iff {x : R} : Wbtw R 1 x 0 ↔ x ∈ Set.Icc (0 : R) 1 := by
rw [wbtw_comm, wbtw_zero_one_iff]
#align wbtw_one_zero_iff wbtw_one_zero_iff
+-/
+#print sbtw_zero_one_iff /-
@[simp]
theorem sbtw_zero_one_iff {x : R} : Sbtw R 0 x 1 ↔ x ∈ Set.Ioo (0 : R) 1 :=
by
@@ -492,14 +593,16 @@ theorem sbtw_zero_one_iff {x : R} : Sbtw R 0 x 1 ↔ x ∈ Set.Ioo (0 : R) 1 :=
⟨fun h => ⟨h.1.1.lt_of_ne (Ne.symm h.2.1), h.1.2.lt_of_ne h.2.2⟩, fun h =>
⟨⟨h.1.le, h.2.le⟩, h.1.ne', h.2.Ne⟩⟩
#align sbtw_zero_one_iff sbtw_zero_one_iff
+-/
+#print sbtw_one_zero_iff /-
@[simp]
theorem sbtw_one_zero_iff {x : R} : Sbtw R 1 x 0 ↔ x ∈ Set.Ioo (0 : R) 1 := by
rw [sbtw_comm, sbtw_zero_one_iff]
#align sbtw_one_zero_iff sbtw_one_zero_iff
+-/
-include V
-
+#print Wbtw.trans_left /-
theorem Wbtw.trans_left {w x y z : P} (h₁ : Wbtw R w y z) (h₂ : Wbtw R w x y) : Wbtw R w x z :=
by
rcases h₁ with ⟨t₁, ht₁, rfl⟩
@@ -507,13 +610,17 @@ theorem Wbtw.trans_left {w x y z : P} (h₁ : Wbtw R w y z) (h₂ : Wbtw R w x y
refine' ⟨t₂ * t₁, ⟨mul_nonneg ht₂.1 ht₁.1, mul_le_one ht₂.2 ht₁.1 ht₁.2⟩, _⟩
simp [line_map_apply, smul_smul]
#align wbtw.trans_left Wbtw.trans_left
+-/
+#print Wbtw.trans_right /-
theorem Wbtw.trans_right {w x y z : P} (h₁ : Wbtw R w x z) (h₂ : Wbtw R x y z) : Wbtw R w y z :=
by
rw [wbtw_comm] at *
exact h₁.trans_left h₂
#align wbtw.trans_right Wbtw.trans_right
+-/
+#print Wbtw.trans_sbtw_left /-
theorem Wbtw.trans_sbtw_left [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Wbtw R w y z)
(h₂ : Sbtw R w x y) : Sbtw R w x z :=
by
@@ -521,7 +628,9 @@ theorem Wbtw.trans_sbtw_left [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Wbtw
rintro rfl
exact h₂.right_ne ((wbtw_swap_right_iff R w).1 ⟨h₁, h₂.wbtw⟩)
#align wbtw.trans_sbtw_left Wbtw.trans_sbtw_left
+-/
+#print Wbtw.trans_sbtw_right /-
theorem Wbtw.trans_sbtw_right [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Wbtw R w x z)
(h₂ : Sbtw R x y z) : Sbtw R w y z :=
by
@@ -529,41 +638,55 @@ theorem Wbtw.trans_sbtw_right [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Wbt
rw [sbtw_comm] at *
exact h₁.trans_sbtw_left h₂
#align wbtw.trans_sbtw_right Wbtw.trans_sbtw_right
+-/
+#print Sbtw.trans_left /-
theorem Sbtw.trans_left [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Sbtw R w y z)
(h₂ : Sbtw R w x y) : Sbtw R w x z :=
h₁.Wbtw.trans_sbtw_left h₂
#align sbtw.trans_left Sbtw.trans_left
+-/
+#print Sbtw.trans_right /-
theorem Sbtw.trans_right [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Sbtw R w x z)
(h₂ : Sbtw R x y z) : Sbtw R w y z :=
h₁.Wbtw.trans_sbtw_right h₂
#align sbtw.trans_right Sbtw.trans_right
+-/
+#print Wbtw.trans_left_ne /-
theorem Wbtw.trans_left_ne [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Wbtw R w y z)
(h₂ : Wbtw R w x y) (h : y ≠ z) : x ≠ z :=
by
rintro rfl
exact h (h₁.swap_right_iff.1 h₂)
#align wbtw.trans_left_ne Wbtw.trans_left_ne
+-/
+#print Wbtw.trans_right_ne /-
theorem Wbtw.trans_right_ne [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Wbtw R w x z)
(h₂ : Wbtw R x y z) (h : w ≠ x) : w ≠ y :=
by
rintro rfl
exact h (h₁.swap_left_iff.1 h₂)
#align wbtw.trans_right_ne Wbtw.trans_right_ne
+-/
+#print Sbtw.trans_wbtw_left_ne /-
theorem Sbtw.trans_wbtw_left_ne [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Sbtw R w y z)
(h₂ : Wbtw R w x y) : x ≠ z :=
h₁.Wbtw.trans_left_ne h₂ h₁.ne_right
#align sbtw.trans_wbtw_left_ne Sbtw.trans_wbtw_left_ne
+-/
+#print Sbtw.trans_wbtw_right_ne /-
theorem Sbtw.trans_wbtw_right_ne [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Sbtw R w x z)
(h₂ : Wbtw R x y z) : w ≠ y :=
h₁.Wbtw.trans_right_ne h₂ h₁.left_ne
#align sbtw.trans_wbtw_right_ne Sbtw.trans_wbtw_right_ne
+-/
+#print Sbtw.affineCombination_of_mem_affineSpan_pair /-
theorem Sbtw.affineCombination_of_mem_affineSpan_pair [NoZeroDivisors R] [NoZeroSMulDivisors R V]
{ι : Type _} {p : ι → P} (ha : AffineIndependent R p) {w w₁ w₂ : ι → R} {s : Finset ι}
(hw : ∑ i in s, w i = 1) (hw₁ : ∑ i in s, w₁ i = 1) (hw₂ : ∑ i in s, w₂ i = 1)
@@ -589,6 +712,7 @@ theorem Sbtw.affineCombination_of_mem_affineSpan_pair [NoZeroDivisors R] [NoZero
have ha' := ha s (w₁ - w₂) hw₁w₂ hz i his
rwa [Pi.sub_apply, sub_eq_zero] at ha'
#align sbtw.affine_combination_of_mem_affine_span_pair Sbtw.affineCombination_of_mem_affineSpan_pair
+-/
end OrderedRing
@@ -596,10 +720,9 @@ section StrictOrderedCommRing
variable [StrictOrderedCommRing R] [AddCommGroup V] [Module R V] [AddTorsor V P]
-include V
-
variable {R}
+#print Wbtw.sameRay_vsub /-
theorem Wbtw.sameRay_vsub {x y z : P} (h : Wbtw R x y z) : SameRay R (y -ᵥ x) (z -ᵥ y) :=
by
rcases h with ⟨t, ⟨ht0, ht1⟩, rfl⟩
@@ -610,19 +733,24 @@ theorem Wbtw.sameRay_vsub {x y z : P} (h : Wbtw R x y z) : SameRay R (y -ᵥ x)
simp [vsub_vadd_eq_vsub_sub, smul_sub, smul_smul, ← sub_smul]
ring_nf
#align wbtw.same_ray_vsub Wbtw.sameRay_vsub
+-/
+#print Wbtw.sameRay_vsub_left /-
theorem Wbtw.sameRay_vsub_left {x y z : P} (h : Wbtw R x y z) : SameRay R (y -ᵥ x) (z -ᵥ x) :=
by
rcases h with ⟨t, ⟨ht0, ht1⟩, rfl⟩
simpa [line_map_apply] using SameRay.sameRay_nonneg_smul_left (z -ᵥ x) ht0
#align wbtw.same_ray_vsub_left Wbtw.sameRay_vsub_left
+-/
+#print Wbtw.sameRay_vsub_right /-
theorem Wbtw.sameRay_vsub_right {x y z : P} (h : Wbtw R x y z) : SameRay R (z -ᵥ x) (z -ᵥ y) :=
by
rcases h with ⟨t, ⟨ht0, ht1⟩, rfl⟩
simpa [line_map_apply, vsub_vadd_eq_vsub_sub, sub_smul] using
SameRay.sameRay_nonneg_smul_right (z -ᵥ x) (sub_nonneg.2 ht1)
#align wbtw.same_ray_vsub_right Wbtw.sameRay_vsub_right
+-/
end StrictOrderedCommRing
@@ -630,10 +758,9 @@ section LinearOrderedRing
variable [LinearOrderedRing R] [AddCommGroup V] [Module R V] [AddTorsor V P]
-include V
-
variable {R}
+#print sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair /-
/-- Suppose lines from two vertices of a triangle to interior points of the opposite side meet at
`p`. Then `p` lies in the interior of the first (and by symmetry the other) segment from a
vertex to the point on the opposite side. -/
@@ -708,6 +835,7 @@ theorem sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair [NoZeroSMulDivisors R V]
· simp [h₂₃]
· simp [h₁₂, h₁₃]
#align sbtw_of_sbtw_of_sbtw_of_mem_affine_span_pair sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair
+-/
end LinearOrderedRing
@@ -715,10 +843,9 @@ section LinearOrderedField
variable [LinearOrderedField R] [AddCommGroup V] [Module R V] [AddTorsor V P]
-include V
-
variable {R}
+#print wbtw_iff_left_eq_or_right_mem_image_Ici /-
theorem wbtw_iff_left_eq_or_right_mem_image_Ici {x y z : P} :
Wbtw R x y z ↔ x = y ∨ z ∈ lineMap x y '' Set.Ici (1 : R) :=
by
@@ -737,19 +864,25 @@ theorem wbtw_iff_left_eq_or_right_mem_image_Ici {x y z : P} :
simp only [line_map_apply, smul_smul, vadd_vsub]
rw [inv_mul_cancel (one_pos.trans_le hr).ne', one_smul, vsub_vadd]
#align wbtw_iff_left_eq_or_right_mem_image_Ici wbtw_iff_left_eq_or_right_mem_image_Ici
+-/
+#print Wbtw.right_mem_image_Ici_of_left_ne /-
theorem Wbtw.right_mem_image_Ici_of_left_ne {x y z : P} (h : Wbtw R x y z) (hne : x ≠ y) :
z ∈ lineMap x y '' Set.Ici (1 : R) :=
(wbtw_iff_left_eq_or_right_mem_image_Ici.1 h).resolve_left hne
#align wbtw.right_mem_image_Ici_of_left_ne Wbtw.right_mem_image_Ici_of_left_ne
+-/
+#print Wbtw.right_mem_affineSpan_of_left_ne /-
theorem Wbtw.right_mem_affineSpan_of_left_ne {x y z : P} (h : Wbtw R x y z) (hne : x ≠ y) :
z ∈ line[R, x, y] :=
by
rcases h.right_mem_image_Ici_of_left_ne hne with ⟨r, ⟨-, rfl⟩⟩
exact line_map_mem_affine_span_pair _ _ _
#align wbtw.right_mem_affine_span_of_left_ne Wbtw.right_mem_affineSpan_of_left_ne
+-/
+#print sbtw_iff_left_ne_and_right_mem_image_Ioi /-
theorem sbtw_iff_left_ne_and_right_mem_image_Ioi {x y z : P} :
Sbtw R x y z ↔ x ≠ y ∧ z ∈ lineMap x y '' Set.Ioi (1 : R) :=
by
@@ -770,45 +903,63 @@ theorem sbtw_iff_left_ne_and_right_mem_image_Ioi {x y z : P} :
rw [← sub_smul, smul_ne_zero_iff, vsub_ne_zero, sub_ne_zero]
exact ⟨hr.ne, hne.symm⟩
#align sbtw_iff_left_ne_and_right_mem_image_IoI sbtw_iff_left_ne_and_right_mem_image_Ioi
+-/
+#print Sbtw.right_mem_image_Ioi /-
theorem Sbtw.right_mem_image_Ioi {x y z : P} (h : Sbtw R x y z) :
z ∈ lineMap x y '' Set.Ioi (1 : R) :=
(sbtw_iff_left_ne_and_right_mem_image_Ioi.1 h).2
#align sbtw.right_mem_image_Ioi Sbtw.right_mem_image_Ioi
+-/
+#print Sbtw.right_mem_affineSpan /-
theorem Sbtw.right_mem_affineSpan {x y z : P} (h : Sbtw R x y z) : z ∈ line[R, x, y] :=
h.Wbtw.right_mem_affineSpan_of_left_ne h.left_ne
#align sbtw.right_mem_affine_span Sbtw.right_mem_affineSpan
+-/
+#print wbtw_iff_right_eq_or_left_mem_image_Ici /-
theorem wbtw_iff_right_eq_or_left_mem_image_Ici {x y z : P} :
Wbtw R x y z ↔ z = y ∨ x ∈ lineMap z y '' Set.Ici (1 : R) := by
rw [wbtw_comm, wbtw_iff_left_eq_or_right_mem_image_Ici]
#align wbtw_iff_right_eq_or_left_mem_image_Ici wbtw_iff_right_eq_or_left_mem_image_Ici
+-/
+#print Wbtw.left_mem_image_Ici_of_right_ne /-
theorem Wbtw.left_mem_image_Ici_of_right_ne {x y z : P} (h : Wbtw R x y z) (hne : z ≠ y) :
x ∈ lineMap z y '' Set.Ici (1 : R) :=
h.symm.right_mem_image_Ici_of_left_ne hne
#align wbtw.left_mem_image_Ici_of_right_ne Wbtw.left_mem_image_Ici_of_right_ne
+-/
+#print Wbtw.left_mem_affineSpan_of_right_ne /-
theorem Wbtw.left_mem_affineSpan_of_right_ne {x y z : P} (h : Wbtw R x y z) (hne : z ≠ y) :
x ∈ line[R, z, y] :=
h.symm.right_mem_affineSpan_of_left_ne hne
#align wbtw.left_mem_affine_span_of_right_ne Wbtw.left_mem_affineSpan_of_right_ne
+-/
+#print sbtw_iff_right_ne_and_left_mem_image_Ioi /-
theorem sbtw_iff_right_ne_and_left_mem_image_Ioi {x y z : P} :
Sbtw R x y z ↔ z ≠ y ∧ x ∈ lineMap z y '' Set.Ioi (1 : R) := by
rw [sbtw_comm, sbtw_iff_left_ne_and_right_mem_image_Ioi]
#align sbtw_iff_right_ne_and_left_mem_image_IoI sbtw_iff_right_ne_and_left_mem_image_Ioi
+-/
+#print Sbtw.left_mem_image_Ioi /-
theorem Sbtw.left_mem_image_Ioi {x y z : P} (h : Sbtw R x y z) :
x ∈ lineMap z y '' Set.Ioi (1 : R) :=
h.symm.right_mem_image_Ioi
#align sbtw.left_mem_image_Ioi Sbtw.left_mem_image_Ioi
+-/
+#print Sbtw.left_mem_affineSpan /-
theorem Sbtw.left_mem_affineSpan {x y z : P} (h : Sbtw R x y z) : x ∈ line[R, z, y] :=
h.symm.right_mem_affineSpan
#align sbtw.left_mem_affine_span Sbtw.left_mem_affineSpan
+-/
+#print wbtw_smul_vadd_smul_vadd_of_nonneg_of_le /-
theorem wbtw_smul_vadd_smul_vadd_of_nonneg_of_le (x : P) (v : V) {r₁ r₂ : R} (hr₁ : 0 ≤ r₁)
(hr₂ : r₁ ≤ r₂) : Wbtw R x (r₁ • v +ᵥ x) (r₂ • v +ᵥ x) :=
by
@@ -816,7 +967,9 @@ theorem wbtw_smul_vadd_smul_vadd_of_nonneg_of_le (x : P) (v : V) {r₁ r₂ : R}
by_cases h : r₁ = 0; · simp [h]
simp [line_map_apply, smul_smul, ((hr₁.lt_of_ne' h).trans_le hr₂).Ne.symm]
#align wbtw_smul_vadd_smul_vadd_of_nonneg_of_le wbtw_smul_vadd_smul_vadd_of_nonneg_of_le
+-/
+#print wbtw_or_wbtw_smul_vadd_of_nonneg /-
theorem wbtw_or_wbtw_smul_vadd_of_nonneg (x : P) (v : V) {r₁ r₂ : R} (hr₁ : 0 ≤ r₁) (hr₂ : 0 ≤ r₂) :
Wbtw R x (r₁ • v +ᵥ x) (r₂ • v +ᵥ x) ∨ Wbtw R x (r₂ • v +ᵥ x) (r₁ • v +ᵥ x) :=
by
@@ -824,7 +977,9 @@ theorem wbtw_or_wbtw_smul_vadd_of_nonneg (x : P) (v : V) {r₁ r₂ : R} (hr₁
· exact Or.inl (wbtw_smul_vadd_smul_vadd_of_nonneg_of_le x v hr₁ h)
· exact Or.inr (wbtw_smul_vadd_smul_vadd_of_nonneg_of_le x v hr₂ h)
#align wbtw_or_wbtw_smul_vadd_of_nonneg wbtw_or_wbtw_smul_vadd_of_nonneg
+-/
+#print wbtw_smul_vadd_smul_vadd_of_nonpos_of_le /-
theorem wbtw_smul_vadd_smul_vadd_of_nonpos_of_le (x : P) (v : V) {r₁ r₂ : R} (hr₁ : r₁ ≤ 0)
(hr₂ : r₂ ≤ r₁) : Wbtw R x (r₁ • v +ᵥ x) (r₂ • v +ᵥ x) := by
convert
@@ -833,7 +988,9 @@ theorem wbtw_smul_vadd_smul_vadd_of_nonpos_of_le (x : P) (v : V) {r₁ r₂ : R}
1 <;>
rw [neg_smul_neg]
#align wbtw_smul_vadd_smul_vadd_of_nonpos_of_le wbtw_smul_vadd_smul_vadd_of_nonpos_of_le
+-/
+#print wbtw_or_wbtw_smul_vadd_of_nonpos /-
theorem wbtw_or_wbtw_smul_vadd_of_nonpos (x : P) (v : V) {r₁ r₂ : R} (hr₁ : r₁ ≤ 0) (hr₂ : r₂ ≤ 0) :
Wbtw R x (r₁ • v +ᵥ x) (r₂ • v +ᵥ x) ∨ Wbtw R x (r₂ • v +ᵥ x) (r₁ • v +ᵥ x) :=
by
@@ -841,7 +998,9 @@ theorem wbtw_or_wbtw_smul_vadd_of_nonpos (x : P) (v : V) {r₁ r₂ : R} (hr₁
· exact Or.inr (wbtw_smul_vadd_smul_vadd_of_nonpos_of_le x v hr₂ h)
· exact Or.inl (wbtw_smul_vadd_smul_vadd_of_nonpos_of_le x v hr₁ h)
#align wbtw_or_wbtw_smul_vadd_of_nonpos wbtw_or_wbtw_smul_vadd_of_nonpos
+-/
+#print wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg /-
theorem wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg (x : P) (v : V) {r₁ r₂ : R} (hr₁ : r₁ ≤ 0)
(hr₂ : 0 ≤ r₂) : Wbtw R (r₁ • v +ᵥ x) x (r₂ • v +ᵥ x) := by
convert
@@ -850,14 +1009,18 @@ theorem wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg (x : P) (v : V) {r₁ r₂
1 <;>
simp [sub_smul, ← add_vadd]
#align wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg
+-/
+#print wbtw_smul_vadd_smul_vadd_of_nonneg_of_nonpos /-
theorem wbtw_smul_vadd_smul_vadd_of_nonneg_of_nonpos (x : P) (v : V) {r₁ r₂ : R} (hr₁ : 0 ≤ r₁)
(hr₂ : r₂ ≤ 0) : Wbtw R (r₁ • v +ᵥ x) x (r₂ • v +ᵥ x) :=
by
rw [wbtw_comm]
exact wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg x v hr₂ hr₁
#align wbtw_smul_vadd_smul_vadd_of_nonneg_of_nonpos wbtw_smul_vadd_smul_vadd_of_nonneg_of_nonpos
+-/
+#print Wbtw.trans_left_right /-
theorem Wbtw.trans_left_right {w x y z : P} (h₁ : Wbtw R w y z) (h₂ : Wbtw R w x y) :
Wbtw R x y z := by
rcases h₁ with ⟨t₁, ht₁, rfl⟩
@@ -882,23 +1045,31 @@ theorem Wbtw.trans_left_right {w x y z : P} (h₁ : Wbtw R w y z) (h₂ : Wbtw R
· rw [div_self h]
ring_nf
#align wbtw.trans_left_right Wbtw.trans_left_right
+-/
+#print Wbtw.trans_right_left /-
theorem Wbtw.trans_right_left {w x y z : P} (h₁ : Wbtw R w x z) (h₂ : Wbtw R x y z) :
Wbtw R w x y := by
rw [wbtw_comm] at *
exact h₁.trans_left_right h₂
#align wbtw.trans_right_left Wbtw.trans_right_left
+-/
+#print Sbtw.trans_left_right /-
theorem Sbtw.trans_left_right {w x y z : P} (h₁ : Sbtw R w y z) (h₂ : Sbtw R w x y) :
Sbtw R x y z :=
⟨h₁.Wbtw.trans_left_right h₂.Wbtw, h₂.right_ne, h₁.ne_right⟩
#align sbtw.trans_left_right Sbtw.trans_left_right
+-/
+#print Sbtw.trans_right_left /-
theorem Sbtw.trans_right_left {w x y z : P} (h₁ : Sbtw R w x z) (h₂ : Sbtw R x y z) :
Sbtw R w x y :=
⟨h₁.Wbtw.trans_right_left h₂.Wbtw, h₁.ne_left, h₂.left_ne⟩
#align sbtw.trans_right_left Sbtw.trans_right_left
+-/
+#print Wbtw.collinear /-
theorem Wbtw.collinear {x y z : P} (h : Wbtw R x y z) : Collinear R ({x, y, z} : Set P) :=
by
rw [collinear_iff_exists_forall_eq_smul_vadd]
@@ -911,7 +1082,9 @@ theorem Wbtw.collinear {x y z : P} (h : Wbtw R x y z) : Collinear R ({x, y, z} :
exact ⟨t, rfl⟩
· refine' ⟨1, _⟩; simp
#align wbtw.collinear Wbtw.collinear
+-/
+#print Collinear.wbtw_or_wbtw_or_wbtw /-
theorem Collinear.wbtw_or_wbtw_or_wbtw {x y z : P} (h : Collinear R ({x, y, z} : Set P)) :
Wbtw R x y z ∨ Wbtw R y z x ∨ Wbtw R z x y :=
by
@@ -937,7 +1110,9 @@ theorem Collinear.wbtw_or_wbtw_or_wbtw {x y z : P} (h : Collinear R ({x, y, z} :
rw [← or_assoc']
exact Or.inl (wbtw_or_wbtw_smul_vadd_of_nonneg _ _ hy0.le hz0.le)
#align collinear.wbtw_or_wbtw_or_wbtw Collinear.wbtw_or_wbtw_or_wbtw
+-/
+#print wbtw_iff_sameRay_vsub /-
theorem wbtw_iff_sameRay_vsub {x y z : P} : Wbtw R x y z ↔ SameRay R (y -ᵥ x) (z -ᵥ y) :=
by
refine' ⟨Wbtw.sameRay_vsub, fun h => _⟩
@@ -957,33 +1132,42 @@ theorem wbtw_iff_sameRay_vsub {x y z : P} : Wbtw R x y z ↔ SameRay R (y -ᵥ x
field_simp [(add_pos hr₁ hr₂).ne', hr₂.ne']
ring
#align wbtw_iff_same_ray_vsub wbtw_iff_sameRay_vsub
+-/
variable (R)
+#print wbtw_pointReflection /-
theorem wbtw_pointReflection (x y : P) : Wbtw R y x (pointReflection R x y) :=
by
refine' ⟨2⁻¹, ⟨by norm_num, by norm_num⟩, _⟩
rw [line_map_apply, point_reflection_apply, vadd_vsub_assoc, ← two_smul R (x -ᵥ y)]
simp
#align wbtw_point_reflection wbtw_pointReflection
+-/
+#print sbtw_pointReflection_of_ne /-
theorem sbtw_pointReflection_of_ne {x y : P} (h : x ≠ y) : Sbtw R y x (pointReflection R x y) :=
by
refine' ⟨wbtw_pointReflection _ _ _, h, _⟩
nth_rw 1 [← point_reflection_self R x]
exact (point_reflection_involutive R x).Injective.Ne h
#align sbtw_point_reflection_of_ne sbtw_pointReflection_of_ne
+-/
+#print wbtw_midpoint /-
theorem wbtw_midpoint (x y : P) : Wbtw R x (midpoint R x y) y := by
convert wbtw_pointReflection R (midpoint R x y) x; simp
#align wbtw_midpoint wbtw_midpoint
+-/
+#print sbtw_midpoint_of_ne /-
theorem sbtw_midpoint_of_ne {x y : P} (h : x ≠ y) : Sbtw R x (midpoint R x y) y :=
by
have h : midpoint R x y ≠ x := by simp [h]
convert sbtw_pointReflection_of_ne R h
simp
#align sbtw_midpoint_of_ne sbtw_midpoint_of_ne
+-/
end LinearOrderedField
mathlib commit https://github.com/leanprover-community/mathlib/commit/a3e83f0fa4391c8740f7d773a7a9b74e311ae2a3
@@ -566,7 +566,7 @@ theorem Sbtw.trans_wbtw_right_ne [NoZeroSMulDivisors R V] {w x y z : P} (h₁ :
theorem Sbtw.affineCombination_of_mem_affineSpan_pair [NoZeroDivisors R] [NoZeroSMulDivisors R V]
{ι : Type _} {p : ι → P} (ha : AffineIndependent R p) {w w₁ w₂ : ι → R} {s : Finset ι}
- (hw : (∑ i in s, w i) = 1) (hw₁ : (∑ i in s, w₁ i) = 1) (hw₂ : (∑ i in s, w₂ i) = 1)
+ (hw : ∑ i in s, w i = 1) (hw₁ : ∑ i in s, w₁ i = 1) (hw₂ : ∑ i in s, w₂ i = 1)
(h :
s.affineCombination R p w ∈ line[R, s.affineCombination R p w₁, s.affineCombination R p w₂])
{i : ι} (his : i ∈ s) (hs : Sbtw R (w₁ i) (w i) (w₂ i)) :
@@ -583,7 +583,7 @@ theorem Sbtw.affineCombination_of_mem_affineSpan_pair [NoZeroDivisors R] [NoZero
s.affine_combination_vsub, ← line_map_apply, sbtw_lineMap_iff, and_iff_left hs.2, ←
@vsub_ne_zero V, s.affine_combination_vsub]
intro hz
- have hw₁w₂ : (∑ i in s, (w₁ - w₂) i) = 0 := by
+ have hw₁w₂ : ∑ i in s, (w₁ - w₂) i = 0 := by
simp_rw [Pi.sub_apply, Finset.sum_sub_distrib, hw₁, hw₂, sub_self]
refine' hs.1 _
have ha' := ha s (w₁ - w₂) hw₁w₂ hz i his
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Joseph Myers
! This file was ported from Lean 3 source module analysis.convex.between
-! leanprover-community/mathlib commit 38df578a6450a8c5142b3727e3ae894c2300cae0
+! leanprover-community/mathlib commit 571e13cacbed7bf042fd3058ce27157101433842
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -79,6 +79,12 @@ theorem right_mem_affineSegment (x y : P) : y ∈ affineSegment R x y :=
⟨1, Set.right_mem_Icc.2 zero_le_one, lineMap_apply_one _ _⟩
#align right_mem_affine_segment right_mem_affineSegment
+@[simp]
+theorem affineSegment_same (x : P) : affineSegment R x x = {x} := by
+ simp_rw [affineSegment, line_map_same, AffineMap.coe_const,
+ (set.nonempty_Icc.mpr zero_le_one).image_const]
+#align affine_segment_same affineSegment_same
+
include V'
variable {R}
@@ -821,7 +827,8 @@ theorem wbtw_or_wbtw_smul_vadd_of_nonneg (x : P) (v : V) {r₁ r₂ : R} (hr₁
theorem wbtw_smul_vadd_smul_vadd_of_nonpos_of_le (x : P) (v : V) {r₁ r₂ : R} (hr₁ : r₁ ≤ 0)
(hr₂ : r₂ ≤ r₁) : Wbtw R x (r₁ • v +ᵥ x) (r₂ • v +ᵥ x) := by
- convert wbtw_smul_vadd_smul_vadd_of_nonneg_of_le x (-v) (Left.nonneg_neg_iff.2 hr₁)
+ convert
+ wbtw_smul_vadd_smul_vadd_of_nonneg_of_le x (-v) (Left.nonneg_neg_iff.2 hr₁)
(neg_le_neg_iff.2 hr₂) using
1 <;>
rw [neg_smul_neg]
@@ -837,7 +844,8 @@ theorem wbtw_or_wbtw_smul_vadd_of_nonpos (x : P) (v : V) {r₁ r₂ : R} (hr₁
theorem wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg (x : P) (v : V) {r₁ r₂ : R} (hr₁ : r₁ ≤ 0)
(hr₂ : 0 ≤ r₂) : Wbtw R (r₁ • v +ᵥ x) x (r₂ • v +ᵥ x) := by
- convert wbtw_smul_vadd_smul_vadd_of_nonneg_of_le (r₁ • v +ᵥ x) v (Left.nonneg_neg_iff.2 hr₁)
+ convert
+ wbtw_smul_vadd_smul_vadd_of_nonneg_of_le (r₁ • v +ᵥ x) v (Left.nonneg_neg_iff.2 hr₁)
(neg_le_sub_iff_le_add.2 ((le_add_iff_nonneg_left r₁).2 hr₂)) using
1 <;>
simp [sub_smul, ← add_vadd]
@@ -945,7 +953,7 @@ theorem wbtw_iff_sameRay_vsub {x y z : P} : Wbtw R x y z ↔ SameRay R (y -ᵥ x
rw [eq_comm]
simp only [line_map_apply, h', vadd_vsub_assoc, smul_smul, ← add_smul, eq_vadd_iff_vsub_eq,
smul_add]
- convert(one_smul _ _).symm
+ convert (one_smul _ _).symm
field_simp [(add_pos hr₁ hr₂).ne', hr₂.ne']
ring
#align wbtw_iff_same_ray_vsub wbtw_iff_sameRay_vsub
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -185,7 +185,7 @@ theorem Function.Injective.wbtw_map_iff {x y z : P} {f : P →ᵃ[R] P'} (hf : F
Wbtw R (f x) (f y) (f z) ↔ Wbtw R x y z :=
by
refine' ⟨fun h => _, fun h => h.map _⟩
- rwa [Wbtw, ← affineSegment_image, hf.mem_set_image] at h
+ rwa [Wbtw, ← affineSegment_image, hf.mem_set_image] at h
#align function.injective.wbtw_map_iff Function.Injective.wbtw_map_iff
theorem Function.Injective.sbtw_map_iff {x y z : P} {f : P →ᵃ[R] P'} (hf : Function.Injective f) :
@@ -341,14 +341,14 @@ variable {R}
theorem Wbtw.left_ne_right_of_ne_left {x y z : P} (h : Wbtw R x y z) (hne : y ≠ x) : x ≠ z :=
by
rintro rfl
- rw [wbtw_self_iff] at h
+ rw [wbtw_self_iff] at h
exact hne h
#align wbtw.left_ne_right_of_ne_left Wbtw.left_ne_right_of_ne_left
theorem Wbtw.left_ne_right_of_ne_right {x y z : P} (h : Wbtw R x y z) (hne : y ≠ z) : x ≠ z :=
by
rintro rfl
- rw [wbtw_self_iff] at h
+ rw [wbtw_self_iff] at h
exact hne h
#align wbtw.left_ne_right_of_ne_right Wbtw.left_ne_right_of_ne_right
@@ -379,18 +379,18 @@ theorem wbtw_swap_left_iff [NoZeroSMulDivisors R V] {x y : P} (z : P) :
· rintro ⟨hxyz, hyxz⟩
rcases hxyz with ⟨ty, hty, rfl⟩
rcases hyxz with ⟨tx, htx, hx⟩
- simp_rw [line_map_apply, ← add_vadd] at hx
+ simp_rw [line_map_apply, ← add_vadd] at hx
rw [← @vsub_eq_zero_iff_eq V, vadd_vsub, vsub_vadd_eq_vsub_sub, smul_sub, smul_smul, ← sub_smul,
- ← add_smul, smul_eq_zero] at hx
+ ← add_smul, smul_eq_zero] at hx
rcases hx with (h | h)
- · nth_rw 1 [← mul_one tx] at h
- rw [← mul_sub, add_eq_zero_iff_neg_eq] at h
+ · nth_rw 1 [← mul_one tx] at h
+ rw [← mul_sub, add_eq_zero_iff_neg_eq] at h
have h' : ty = 0 := by
refine' le_antisymm _ hty.1
rw [← h, Left.neg_nonpos_iff]
exact mul_nonneg htx.1 (sub_nonneg.2 hty.2)
simp [h']
- · rw [vsub_eq_zero_iff_eq] at h
+ · rw [vsub_eq_zero_iff_eq] at h
simp [h]
· rintro rfl
exact ⟨wbtw_self_left _ _ _, wbtw_self_left _ _ _⟩
@@ -566,11 +566,11 @@ theorem Sbtw.affineCombination_of_mem_affineSpan_pair [NoZeroDivisors R] [NoZero
{i : ι} (his : i ∈ s) (hs : Sbtw R (w₁ i) (w i) (w₂ i)) :
Sbtw R (s.affineCombination R p w₁) (s.affineCombination R p w) (s.affineCombination R p w₂) :=
by
- rw [affineCombination_mem_affineSpan_pair ha hw hw₁ hw₂] at h
+ rw [affineCombination_mem_affineSpan_pair ha hw hw₁ hw₂] at h
rcases h with ⟨r, hr⟩
- dsimp only at hr
- rw [hr i his, sbtw_mul_sub_add_iff] at hs
- change ∀ i ∈ s, w i = (r • (w₂ - w₁) + w₁) i at hr
+ dsimp only at hr
+ rw [hr i his, sbtw_mul_sub_add_iff] at hs
+ change ∀ i ∈ s, w i = (r • (w₂ - w₁) + w₁) i at hr
rw [s.affine_combination_congr hr fun _ _ => rfl]
dsimp only
rw [← s.weighted_vsub_vadd_affine_combination, s.weighted_vsub_const_smul, ←
@@ -581,7 +581,7 @@ theorem Sbtw.affineCombination_of_mem_affineSpan_pair [NoZeroDivisors R] [NoZero
simp_rw [Pi.sub_apply, Finset.sum_sub_distrib, hw₁, hw₂, sub_self]
refine' hs.1 _
have ha' := ha s (w₁ - w₂) hw₁w₂ hz i his
- rwa [Pi.sub_apply, sub_eq_zero] at ha'
+ rwa [Pi.sub_apply, sub_eq_zero] at ha'
#align sbtw.affine_combination_of_mem_affine_span_pair Sbtw.affineCombination_of_mem_affineSpan_pair
end OrderedRing
@@ -650,13 +650,13 @@ theorem sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair [NoZeroSMulDivisors R V]
refine' affineSpan_pair_le_of_mem_of_mem (mem_affineSpan _ (Set.mem_range_self _)) _
have hle : line[R, t.points i₂, t.points i₃] ≤ affineSpan R (Set.range t.points) := by
refine' affineSpan_mono _ _; simp [Set.insert_subset]
- rw [AffineSubspace.le_def'] at hle
+ rw [AffineSubspace.le_def'] at hle
exact hle _ h₁.wbtw.mem_affine_span
- rw [AffineSubspace.le_def'] at hle
+ rw [AffineSubspace.le_def'] at hle
exact hle _ h₁'
have h₁i := h₁.mem_image_Ioo
have h₂i := h₂.mem_image_Ioo
- rw [Set.mem_image] at h₁i h₂i
+ rw [Set.mem_image] at h₁i h₂i
rcases h₁i with ⟨r₁, ⟨hr₁0, hr₁1⟩, rfl⟩
rcases h₂i with ⟨r₂, ⟨hr₂0, hr₂1⟩, rfl⟩
rcases eq_affineCombination_of_mem_affineSpan_of_fintype hp with ⟨w, hw, rfl⟩
@@ -666,14 +666,14 @@ theorem sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair [NoZeroSMulDivisors R V]
have h₂s :=
sign_eq_of_affineCombination_mem_affineSpan_single_lineMap t.independent hw (Finset.mem_univ _)
(Finset.mem_univ _) (Finset.mem_univ _) h₁₂.symm h₂₃ h₁₃ hr₂0 hr₂1 h₂'
- dsimp only at h₁s h₂s
+ dsimp only at h₁s h₂s
rw [←
finset.univ.affine_combination_affine_combination_single_weights R t.points
(Finset.mem_univ i₁),
←
finset.univ.affine_combination_affine_combination_line_map_weights t.points (Finset.mem_univ _)
(Finset.mem_univ _)] at
- h₁'⊢
+ h₁' ⊢
refine'
Sbtw.affineCombination_of_mem_affineSpan_pair t.independent hw
(finset.univ.sum_affine_combination_single_weights R (Finset.mem_univ _))
@@ -691,13 +691,13 @@ theorem sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair [NoZeroSMulDivisors R V]
· rfl
have hss : SignType.sign (∑ i, w i) = 1 := by simp [hw]
have hs' := sign_sum Finset.univ_nonempty (SignType.sign (w i₃)) fun i _ => hs i
- rw [hs'] at hss
- simp_rw [hss, sign_eq_one_iff] at hs
+ rw [hs'] at hss
+ simp_rw [hss, sign_eq_one_iff] at hs
refine' ⟨hs i₁, _⟩
- rw [hu] at hw
- rw [Finset.sum_insert, Finset.sum_insert, Finset.sum_singleton] at hw
+ rw [hu] at hw
+ rw [Finset.sum_insert, Finset.sum_insert, Finset.sum_singleton] at hw
· by_contra hle
- rw [not_lt] at hle
+ rw [not_lt] at hle
exact (hle.trans_lt (lt_add_of_pos_right _ (Left.add_pos (hs i₂) (hs i₃)))).ne' hw
· simp [h₂₃]
· simp [h₁₂, h₁₃]
@@ -726,7 +726,7 @@ theorem wbtw_iff_left_eq_or_right_mem_image_Ici {x y z : P} :
· simp
· rcases h with (rfl | ⟨r, ⟨hr, rfl⟩⟩)
· exact wbtw_self_left _ _ _
- · rw [Set.mem_Ici] at hr
+ · rw [Set.mem_Ici] at hr
refine' ⟨r⁻¹, ⟨inv_nonneg.2 (zero_le_one.trans hr), inv_le_one hr⟩, _⟩
simp only [line_map_apply, smul_smul, vadd_vsub]
rw [inv_mul_cancel (one_pos.trans_le hr).ne', one_smul, vsub_vadd]
@@ -749,12 +749,12 @@ theorem sbtw_iff_left_ne_and_right_mem_image_Ioi {x y z : P} :
by
refine' ⟨fun h => ⟨h.left_ne, _⟩, fun h => _⟩
· obtain ⟨r, ⟨hr, rfl⟩⟩ := h.wbtw.right_mem_image_Ici_of_left_ne h.left_ne
- rw [Set.mem_Ici] at hr
+ rw [Set.mem_Ici] at hr
rcases hr.lt_or_eq with (hrlt | rfl)
· exact Set.mem_image_of_mem _ hrlt
· exfalso; simpa using h
· rcases h with ⟨hne, r, hr, rfl⟩
- rw [Set.mem_Ioi] at hr
+ rw [Set.mem_Ioi] at hr
refine'
⟨wbtw_iff_left_eq_or_right_mem_image_Ici.2
(Or.inr (Set.mem_image_of_mem _ (Set.mem_of_mem_of_subset hr Set.Ioi_subset_Ici_self))),
@@ -865,7 +865,7 @@ theorem Wbtw.trans_left_right {w x y z : P} (h₁ : Wbtw R w y z) (h₂ : Wbtw R
nth_rw 1 [← mul_one (t₁ - t₂ * t₁)]
rw [← mul_sub, mul_div_assoc]
by_cases h : 1 - t₂ * t₁ = 0
- · rw [sub_eq_zero, eq_comm] at h
+ · rw [sub_eq_zero, eq_comm] at h
rw [h]
suffices t₁ = 1 by simp [this]
exact
@@ -896,7 +896,7 @@ theorem Wbtw.collinear {x y z : P} (h : Wbtw R x y z) : Collinear R ({x, y, z} :
rw [collinear_iff_exists_forall_eq_smul_vadd]
refine' ⟨x, z -ᵥ x, _⟩
intro p hp
- simp_rw [Set.mem_insert_iff, Set.mem_singleton_iff] at hp
+ simp_rw [Set.mem_insert_iff, Set.mem_singleton_iff] at hp
rcases hp with (rfl | rfl | rfl)
· refine' ⟨0, _⟩; simp
· rcases h with ⟨t, -, rfl⟩
@@ -907,9 +907,9 @@ theorem Wbtw.collinear {x y z : P} (h : Wbtw R x y z) : Collinear R ({x, y, z} :
theorem Collinear.wbtw_or_wbtw_or_wbtw {x y z : P} (h : Collinear R ({x, y, z} : Set P)) :
Wbtw R x y z ∨ Wbtw R y z x ∨ Wbtw R z x y :=
by
- rw [collinear_iff_of_mem (Set.mem_insert _ _)] at h
+ rw [collinear_iff_of_mem (Set.mem_insert _ _)] at h
rcases h with ⟨v, h⟩
- simp_rw [Set.mem_insert_iff, Set.mem_singleton_iff] at h
+ simp_rw [Set.mem_insert_iff, Set.mem_singleton_iff] at h
have hy := h y (Or.inr (Or.inl rfl))
have hz := h z (Or.inr (Or.inr rfl))
rcases hy with ⟨ty, rfl⟩
@@ -934,8 +934,8 @@ theorem wbtw_iff_sameRay_vsub {x y z : P} : Wbtw R x y z ↔ SameRay R (y -ᵥ x
by
refine' ⟨Wbtw.sameRay_vsub, fun h => _⟩
rcases h with (h | h | ⟨r₁, r₂, hr₁, hr₂, h⟩)
- · rw [vsub_eq_zero_iff_eq] at h; simp [h]
- · rw [vsub_eq_zero_iff_eq] at h; simp [h]
+ · rw [vsub_eq_zero_iff_eq] at h ; simp [h]
+ · rw [vsub_eq_zero_iff_eq] at h ; simp [h]
· refine'
⟨r₂ / (r₁ + r₂),
⟨div_nonneg hr₂.le (add_nonneg hr₁.le hr₂.le),
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -35,7 +35,7 @@ variable (R : Type _) {V V' P P' : Type _}
open AffineEquiv AffineMap
-open BigOperators
+open scoped BigOperators
section OrderedRing
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -61,12 +61,6 @@ theorem affineSegment_eq_segment (x y : V) : affineSegment R x y = segment R x y
#align affine_segment_eq_segment affineSegment_eq_segment
-/
-/- warning: affine_segment_comm -> affineSegment_comm is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Eq.{succ u3} (Set.{u3} P) (affineSegment.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y) (affineSegment.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 y x)
-but is expected to have type
- forall (R : Type.{u2}) {V : Type.{u1}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u2} R] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} R V (OrderedSemiring.toSemiring.{u2} R (OrderedRing.toOrderedSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] [_inst_4 : AddTorsor.{u1, u3} V P (AddCommGroup.toAddGroup.{u1} V _inst_2)] (x : P) (y : P), Eq.{succ u3} (Set.{u3} P) (affineSegment.{u2, u1, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y) (affineSegment.{u2, u1, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 y x)
-Case conversion may be inaccurate. Consider using '#align affine_segment_comm affineSegment_commₓ'. -/
theorem affineSegment_comm (x y : P) : affineSegment R x y = affineSegment R y x :=
by
refine' Set.ext fun z => _
@@ -77,22 +71,10 @@ theorem affineSegment_comm (x y : P) : affineSegment R x y = affineSegment R y x
· rwa [line_map_apply_one_sub]
#align affine_segment_comm affineSegment_comm
-/- warning: left_mem_affine_segment -> left_mem_affineSegment is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Membership.Mem.{u3, u3} P (Set.{u3} P) (Set.hasMem.{u3} P) x (affineSegment.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y)
-but is expected to have type
- forall (R : Type.{u2}) {V : Type.{u1}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u2} R] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} R V (OrderedSemiring.toSemiring.{u2} R (OrderedRing.toOrderedSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] [_inst_4 : AddTorsor.{u1, u3} V P (AddCommGroup.toAddGroup.{u1} V _inst_2)] (x : P) (y : P), Membership.mem.{u3, u3} P (Set.{u3} P) (Set.instMembershipSet.{u3} P) x (affineSegment.{u2, u1, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y)
-Case conversion may be inaccurate. Consider using '#align left_mem_affine_segment left_mem_affineSegmentₓ'. -/
theorem left_mem_affineSegment (x y : P) : x ∈ affineSegment R x y :=
⟨0, Set.left_mem_Icc.2 zero_le_one, lineMap_apply_zero _ _⟩
#align left_mem_affine_segment left_mem_affineSegment
-/- warning: right_mem_affine_segment -> right_mem_affineSegment is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Membership.Mem.{u3, u3} P (Set.{u3} P) (Set.hasMem.{u3} P) y (affineSegment.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y)
-but is expected to have type
- forall (R : Type.{u2}) {V : Type.{u1}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u2} R] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} R V (OrderedSemiring.toSemiring.{u2} R (OrderedRing.toOrderedSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] [_inst_4 : AddTorsor.{u1, u3} V P (AddCommGroup.toAddGroup.{u1} V _inst_2)] (x : P) (y : P), Membership.mem.{u3, u3} P (Set.{u3} P) (Set.instMembershipSet.{u3} P) y (affineSegment.{u2, u1, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y)
-Case conversion may be inaccurate. Consider using '#align right_mem_affine_segment right_mem_affineSegmentₓ'. -/
theorem right_mem_affineSegment (x y : P) : y ∈ affineSegment R x y :=
⟨1, Set.right_mem_Icc.2 zero_le_one, lineMap_apply_one _ _⟩
#align right_mem_affine_segment right_mem_affineSegment
@@ -101,9 +83,6 @@ include V'
variable {R}
-/- warning: affine_segment_image -> affineSegment_image is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_segment_image affineSegment_imageₓ'. -/
@[simp]
theorem affineSegment_image (f : P →ᵃ[R] P') (x y : P) :
f '' affineSegment R x y = affineSegment R (f x) (f y) :=
@@ -132,24 +111,12 @@ theorem affineSegment_vadd_const_image (x y : V) (p : P) :
#align affine_segment_vadd_const_image affineSegment_vadd_const_image
-/
-/- warning: affine_segment_const_vsub_image -> affineSegment_const_vsub_image is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P) (p : P), Eq.{succ u2} (Set.{u2} V) (Set.image.{u3, u2} P V (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p) (affineSegment.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y)) (affineSegment.{u1, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p x) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p y))
-but is expected to have type
- forall (R : Type.{u1}) {V : Type.{u3}} {P : Type.{u2}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u3} V] [_inst_3 : Module.{u1, u3} R V (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2)] (x : P) (y : P) (p : P), Eq.{succ u3} (Set.{u3} V) (Set.image.{u2, u3} P V (fun (x._@.Mathlib.Analysis.Convex.Between._hyg.933 : P) => VSub.vsub.{u3, u2} V P (AddTorsor.toVSub.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2) _inst_4) p x._@.Mathlib.Analysis.Convex.Between._hyg.933) (affineSegment.{u1, u3, u2} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y)) (affineSegment.{u1, u3, u3} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V (AddCommGroup.toAddGroup.{u3} V _inst_2)) (VSub.vsub.{u3, u2} V P (AddTorsor.toVSub.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2) _inst_4) p x) (VSub.vsub.{u3, u2} V P (AddTorsor.toVSub.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2) _inst_4) p y))
-Case conversion may be inaccurate. Consider using '#align affine_segment_const_vsub_image affineSegment_const_vsub_imageₓ'. -/
@[simp]
theorem affineSegment_const_vsub_image (x y p : P) :
(· -ᵥ ·) p '' affineSegment R x y = affineSegment R (p -ᵥ x) (p -ᵥ y) :=
affineSegment_image (AffineEquiv.constVSub R p : P →ᵃ[R] V) x y
#align affine_segment_const_vsub_image affineSegment_const_vsub_image
-/- warning: affine_segment_vsub_const_image -> affineSegment_vsub_const_image is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P) (p : P), Eq.{succ u2} (Set.{u2} V) (Set.image.{u3, u2} P V (fun (_x : P) => VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) _x p) (affineSegment.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y)) (affineSegment.{u1, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) x p) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) y p))
-but is expected to have type
- forall (R : Type.{u1}) {V : Type.{u3}} {P : Type.{u2}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u3} V] [_inst_3 : Module.{u1, u3} R V (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2)] (x : P) (y : P) (p : P), Eq.{succ u3} (Set.{u3} V) (Set.image.{u2, u3} P V (fun (_x : P) => VSub.vsub.{u3, u2} V P (AddTorsor.toVSub.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2) _inst_4) _x p) (affineSegment.{u1, u3, u2} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y)) (affineSegment.{u1, u3, u3} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V (AddCommGroup.toAddGroup.{u3} V _inst_2)) (VSub.vsub.{u3, u2} V P (AddTorsor.toVSub.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2) _inst_4) x p) (VSub.vsub.{u3, u2} V P (AddTorsor.toVSub.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2) _inst_4) y p))
-Case conversion may be inaccurate. Consider using '#align affine_segment_vsub_const_image affineSegment_vsub_const_imageₓ'. -/
@[simp]
theorem affineSegment_vsub_const_image (x y p : P) :
(· -ᵥ p) '' affineSegment R x y = affineSegment R (x -ᵥ p) (y -ᵥ p) :=
@@ -176,24 +143,12 @@ theorem mem_vadd_const_affineSegment {x y z : V} (p : P) :
variable {R}
-/- warning: mem_const_vsub_affine_segment -> mem_const_vsub_affineSegment is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P} (p : P), Iff (Membership.Mem.{u2, u2} V (Set.{u2} V) (Set.hasMem.{u2} V) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p z) (affineSegment.{u1, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p x) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p y))) (Membership.Mem.{u3, u3} P (Set.{u3} P) (Set.hasMem.{u3} P) z (affineSegment.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y))
-but is expected to have type
- forall {R : Type.{u1}} {V : Type.{u3}} {P : Type.{u2}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u3} V] [_inst_3 : Module.{u1, u3} R V (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2)] {x : P} {y : P} {z : P} (p : P), Iff (Membership.mem.{u3, u3} V (Set.{u3} V) (Set.instMembershipSet.{u3} V) (VSub.vsub.{u3, u2} V P (AddTorsor.toVSub.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2) _inst_4) p z) (affineSegment.{u1, u3, u3} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V (AddCommGroup.toAddGroup.{u3} V _inst_2)) (VSub.vsub.{u3, u2} V P (AddTorsor.toVSub.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2) _inst_4) p x) (VSub.vsub.{u3, u2} V P (AddTorsor.toVSub.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2) _inst_4) p y))) (Membership.mem.{u2, u2} P (Set.{u2} P) (Set.instMembershipSet.{u2} P) z (affineSegment.{u1, u3, u2} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y))
-Case conversion may be inaccurate. Consider using '#align mem_const_vsub_affine_segment mem_const_vsub_affineSegmentₓ'. -/
@[simp]
theorem mem_const_vsub_affineSegment {x y z : P} (p : P) :
p -ᵥ z ∈ affineSegment R (p -ᵥ x) (p -ᵥ y) ↔ z ∈ affineSegment R x y := by
rw [← affineSegment_const_vsub_image, (vsub_right_injective p).mem_set_image]
#align mem_const_vsub_affine_segment mem_const_vsub_affineSegment
-/- warning: mem_vsub_const_affine_segment -> mem_vsub_const_affineSegment is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P} (p : P), Iff (Membership.Mem.{u2, u2} V (Set.{u2} V) (Set.hasMem.{u2} V) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) z p) (affineSegment.{u1, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) x p) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) y p))) (Membership.Mem.{u3, u3} P (Set.{u3} P) (Set.hasMem.{u3} P) z (affineSegment.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y))
-but is expected to have type
- forall {R : Type.{u1}} {V : Type.{u3}} {P : Type.{u2}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u3} V] [_inst_3 : Module.{u1, u3} R V (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2)] {x : P} {y : P} {z : P} (p : P), Iff (Membership.mem.{u3, u3} V (Set.{u3} V) (Set.instMembershipSet.{u3} V) (VSub.vsub.{u3, u2} V P (AddTorsor.toVSub.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2) _inst_4) z p) (affineSegment.{u1, u3, u3} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V (AddCommGroup.toAddGroup.{u3} V _inst_2)) (VSub.vsub.{u3, u2} V P (AddTorsor.toVSub.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2) _inst_4) x p) (VSub.vsub.{u3, u2} V P (AddTorsor.toVSub.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2) _inst_4) y p))) (Membership.mem.{u2, u2} P (Set.{u2} P) (Set.instMembershipSet.{u2} P) z (affineSegment.{u1, u3, u2} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y))
-Case conversion may be inaccurate. Consider using '#align mem_vsub_const_affine_segment mem_vsub_const_affineSegmentₓ'. -/
@[simp]
theorem mem_vsub_const_affineSegment {x y z : P} (p : P) :
z -ᵥ p ∈ affineSegment R (x -ᵥ p) (y -ᵥ p) ↔ z ∈ affineSegment R x y := by
@@ -220,18 +175,12 @@ variable {R}
include V'
-/- warning: wbtw.map -> Wbtw.map is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align wbtw.map Wbtw.mapₓ'. -/
theorem Wbtw.map {x y z : P} (h : Wbtw R x y z) (f : P →ᵃ[R] P') : Wbtw R (f x) (f y) (f z) :=
by
rw [Wbtw, ← affineSegment_image]
exact Set.mem_image_of_mem _ h
#align wbtw.map Wbtw.map
-/- warning: function.injective.wbtw_map_iff -> Function.Injective.wbtw_map_iff is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align function.injective.wbtw_map_iff Function.Injective.wbtw_map_iffₓ'. -/
theorem Function.Injective.wbtw_map_iff {x y z : P} {f : P →ᵃ[R] P'} (hf : Function.Injective f) :
Wbtw R (f x) (f y) (f z) ↔ Wbtw R x y z :=
by
@@ -239,16 +188,10 @@ theorem Function.Injective.wbtw_map_iff {x y z : P} {f : P →ᵃ[R] P'} (hf : F
rwa [Wbtw, ← affineSegment_image, hf.mem_set_image] at h
#align function.injective.wbtw_map_iff Function.Injective.wbtw_map_iff
-/- warning: function.injective.sbtw_map_iff -> Function.Injective.sbtw_map_iff is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align function.injective.sbtw_map_iff Function.Injective.sbtw_map_iffₓ'. -/
theorem Function.Injective.sbtw_map_iff {x y z : P} {f : P →ᵃ[R] P'} (hf : Function.Injective f) :
Sbtw R (f x) (f y) (f z) ↔ Sbtw R x y z := by simp_rw [Sbtw, hf.wbtw_map_iff, hf.ne_iff]
#align function.injective.sbtw_map_iff Function.Injective.sbtw_map_iff
-/- warning: affine_equiv.wbtw_map_iff -> AffineEquiv.wbtw_map_iff is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.wbtw_map_iff AffineEquiv.wbtw_map_iffₓ'. -/
@[simp]
theorem AffineEquiv.wbtw_map_iff {x y z : P} (f : P ≃ᵃ[R] P') :
Wbtw R (f x) (f y) (f z) ↔ Wbtw R x y z :=
@@ -257,9 +200,6 @@ theorem AffineEquiv.wbtw_map_iff {x y z : P} (f : P ≃ᵃ[R] P') :
exact f.injective
#align affine_equiv.wbtw_map_iff AffineEquiv.wbtw_map_iff
-/- warning: affine_equiv.sbtw_map_iff -> AffineEquiv.sbtw_map_iff is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align affine_equiv.sbtw_map_iff AffineEquiv.sbtw_map_iffₓ'. -/
@[simp]
theorem AffineEquiv.sbtw_map_iff {x y z : P} (f : P ≃ᵃ[R] P') :
Sbtw R (f x) (f y) (f z) ↔ Sbtw R x y z :=
@@ -270,155 +210,74 @@ theorem AffineEquiv.sbtw_map_iff {x y z : P} (f : P ≃ᵃ[R] P') :
omit V'
-/- warning: wbtw_const_vadd_iff -> wbtw_const_vadd_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P} (v : V), Iff (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) v x) (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) v y) (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) v z)) (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P} (v : V), Iff (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) v x) (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) v y) (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) v z)) (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
-Case conversion may be inaccurate. Consider using '#align wbtw_const_vadd_iff wbtw_const_vadd_iffₓ'. -/
@[simp]
theorem wbtw_const_vadd_iff {x y z : P} (v : V) :
Wbtw R (v +ᵥ x) (v +ᵥ y) (v +ᵥ z) ↔ Wbtw R x y z :=
mem_const_vadd_affineSegment _
#align wbtw_const_vadd_iff wbtw_const_vadd_iff
-/- warning: wbtw_vadd_const_iff -> wbtw_vadd_const_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : V} {y : V} {z : V} (p : P), Iff (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) x p) (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) y p) (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) z p)) (Wbtw.{u1, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) x y z)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : V} {y : V} {z : V} (p : P), Iff (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) x p) (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) y p) (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) z p)) (Wbtw.{u3, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) x y z)
-Case conversion may be inaccurate. Consider using '#align wbtw_vadd_const_iff wbtw_vadd_const_iffₓ'. -/
@[simp]
theorem wbtw_vadd_const_iff {x y z : V} (p : P) :
Wbtw R (x +ᵥ p) (y +ᵥ p) (z +ᵥ p) ↔ Wbtw R x y z :=
mem_vadd_const_affineSegment _
#align wbtw_vadd_const_iff wbtw_vadd_const_iff
-/- warning: wbtw_const_vsub_iff -> wbtw_const_vsub_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P} (p : P), Iff (Wbtw.{u1, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p x) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p y) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p z)) (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P} (p : P), Iff (Wbtw.{u3, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p x) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p y) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p z)) (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
-Case conversion may be inaccurate. Consider using '#align wbtw_const_vsub_iff wbtw_const_vsub_iffₓ'. -/
@[simp]
theorem wbtw_const_vsub_iff {x y z : P} (p : P) :
Wbtw R (p -ᵥ x) (p -ᵥ y) (p -ᵥ z) ↔ Wbtw R x y z :=
mem_const_vsub_affineSegment _
#align wbtw_const_vsub_iff wbtw_const_vsub_iff
-/- warning: wbtw_vsub_const_iff -> wbtw_vsub_const_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P} (p : P), Iff (Wbtw.{u1, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) x p) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) y p) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) z p)) (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P} (p : P), Iff (Wbtw.{u3, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) x p) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) y p) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) z p)) (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
-Case conversion may be inaccurate. Consider using '#align wbtw_vsub_const_iff wbtw_vsub_const_iffₓ'. -/
@[simp]
theorem wbtw_vsub_const_iff {x y z : P} (p : P) :
Wbtw R (x -ᵥ p) (y -ᵥ p) (z -ᵥ p) ↔ Wbtw R x y z :=
mem_vsub_const_affineSegment _
#align wbtw_vsub_const_iff wbtw_vsub_const_iff
-/- warning: sbtw_const_vadd_iff -> sbtw_const_vadd_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P} (v : V), Iff (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) v x) (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) v y) (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) v z)) (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P} (v : V), Iff (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) v x) (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) v y) (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) v z)) (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
-Case conversion may be inaccurate. Consider using '#align sbtw_const_vadd_iff sbtw_const_vadd_iffₓ'. -/
@[simp]
theorem sbtw_const_vadd_iff {x y z : P} (v : V) :
Sbtw R (v +ᵥ x) (v +ᵥ y) (v +ᵥ z) ↔ Sbtw R x y z := by
simp_rw [Sbtw, wbtw_const_vadd_iff, (AddAction.injective v).ne_iff]
#align sbtw_const_vadd_iff sbtw_const_vadd_iff
-/- warning: sbtw_vadd_const_iff -> sbtw_vadd_const_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : V} {y : V} {z : V} (p : P), Iff (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) x p) (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) y p) (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) z p)) (Sbtw.{u1, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) x y z)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : V} {y : V} {z : V} (p : P), Iff (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) x p) (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) y p) (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) z p)) (Sbtw.{u3, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) x y z)
-Case conversion may be inaccurate. Consider using '#align sbtw_vadd_const_iff sbtw_vadd_const_iffₓ'. -/
@[simp]
theorem sbtw_vadd_const_iff {x y z : V} (p : P) :
Sbtw R (x +ᵥ p) (y +ᵥ p) (z +ᵥ p) ↔ Sbtw R x y z := by
simp_rw [Sbtw, wbtw_vadd_const_iff, (vadd_right_injective p).ne_iff]
#align sbtw_vadd_const_iff sbtw_vadd_const_iff
-/- warning: sbtw_const_vsub_iff -> sbtw_const_vsub_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P} (p : P), Iff (Sbtw.{u1, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p x) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p y) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p z)) (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P} (p : P), Iff (Sbtw.{u3, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p x) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p y) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p z)) (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
-Case conversion may be inaccurate. Consider using '#align sbtw_const_vsub_iff sbtw_const_vsub_iffₓ'. -/
@[simp]
theorem sbtw_const_vsub_iff {x y z : P} (p : P) :
Sbtw R (p -ᵥ x) (p -ᵥ y) (p -ᵥ z) ↔ Sbtw R x y z := by
simp_rw [Sbtw, wbtw_const_vsub_iff, (vsub_right_injective p).ne_iff]
#align sbtw_const_vsub_iff sbtw_const_vsub_iff
-/- warning: sbtw_vsub_const_iff -> sbtw_vsub_const_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P} (p : P), Iff (Sbtw.{u1, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) x p) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) y p) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) z p)) (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P} (p : P), Iff (Sbtw.{u3, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) x p) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) y p) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) z p)) (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
-Case conversion may be inaccurate. Consider using '#align sbtw_vsub_const_iff sbtw_vsub_const_iffₓ'. -/
@[simp]
theorem sbtw_vsub_const_iff {x y z : P} (p : P) :
Sbtw R (x -ᵥ p) (y -ᵥ p) (z -ᵥ p) ↔ Sbtw R x y z := by
simp_rw [Sbtw, wbtw_vsub_const_iff, (vsub_left_injective p).ne_iff]
#align sbtw_vsub_const_iff sbtw_vsub_const_iff
-/- warning: sbtw.wbtw -> Sbtw.wbtw is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
-Case conversion may be inaccurate. Consider using '#align sbtw.wbtw Sbtw.wbtwₓ'. -/
theorem Sbtw.wbtw {x y z : P} (h : Sbtw R x y z) : Wbtw R x y z :=
h.1
#align sbtw.wbtw Sbtw.wbtw
-/- warning: sbtw.ne_left -> Sbtw.ne_left is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u3} P y x)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u1} P y x)
-Case conversion may be inaccurate. Consider using '#align sbtw.ne_left Sbtw.ne_leftₓ'. -/
theorem Sbtw.ne_left {x y z : P} (h : Sbtw R x y z) : y ≠ x :=
h.2.1
#align sbtw.ne_left Sbtw.ne_left
-/- warning: sbtw.left_ne -> Sbtw.left_ne is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u3} P x y)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u1} P x y)
-Case conversion may be inaccurate. Consider using '#align sbtw.left_ne Sbtw.left_neₓ'. -/
theorem Sbtw.left_ne {x y z : P} (h : Sbtw R x y z) : x ≠ y :=
h.2.1.symm
#align sbtw.left_ne Sbtw.left_ne
-/- warning: sbtw.ne_right -> Sbtw.ne_right is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u3} P y z)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u1} P y z)
-Case conversion may be inaccurate. Consider using '#align sbtw.ne_right Sbtw.ne_rightₓ'. -/
theorem Sbtw.ne_right {x y z : P} (h : Sbtw R x y z) : y ≠ z :=
h.2.2
#align sbtw.ne_right Sbtw.ne_right
-/- warning: sbtw.right_ne -> Sbtw.right_ne is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u3} P z y)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u1} P z y)
-Case conversion may be inaccurate. Consider using '#align sbtw.right_ne Sbtw.right_neₓ'. -/
theorem Sbtw.right_ne {x y z : P} (h : Sbtw R x y z) : z ≠ y :=
h.2.2.symm
#align sbtw.right_ne Sbtw.right_ne
-/- warning: sbtw.mem_image_Ioo -> Sbtw.mem_image_Ioo is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align sbtw.mem_image_Ioo Sbtw.mem_image_Iooₓ'. -/
theorem Sbtw.mem_image_Ioo {x y z : P} (h : Sbtw R x y z) : y ∈ lineMap x z '' Set.Ioo (0 : R) 1 :=
by
rcases h with ⟨⟨t, ht, rfl⟩, hyx, hyz⟩
@@ -428,86 +287,38 @@ theorem Sbtw.mem_image_Ioo {x y z : P} (h : Sbtw R x y z) : y ∈ lineMap x z ''
· exact ⟨t, ho, rfl⟩
#align sbtw.mem_image_Ioo Sbtw.mem_image_Ioo
-/- warning: wbtw.mem_affine_span -> Wbtw.mem_affineSpan is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Membership.Mem.{u3, u3} P (AffineSubspace.{u1, u2, u3} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4) (SetLike.hasMem.{u3, u3} (AffineSubspace.{u1, u2, u3} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4) P (AffineSubspace.setLike.{u1, u2, u3} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4)) y (affineSpan.{u1, u2, u3} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 (Insert.insert.{u3, u3} P (Set.{u3} P) (Set.hasInsert.{u3} P) x (Singleton.singleton.{u3, u3} P (Set.{u3} P) (Set.hasSingleton.{u3} P) z))))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Membership.mem.{u1, u1} P (AffineSubspace.{u3, u2, u1} R V P (OrderedRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (AffineSubspace.{u3, u2, u1} R V P (OrderedRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 _inst_4) P (AffineSubspace.instSetLikeAffineSubspace.{u3, u2, u1} R V P (OrderedRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 _inst_4)) y (affineSpan.{u3, u2, u1} R V P (OrderedRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 _inst_4 (Insert.insert.{u1, u1} P (Set.{u1} P) (Set.instInsertSet.{u1} P) x (Singleton.singleton.{u1, u1} P (Set.{u1} P) (Set.instSingletonSet.{u1} P) z))))
-Case conversion may be inaccurate. Consider using '#align wbtw.mem_affine_span Wbtw.mem_affineSpanₓ'. -/
theorem Wbtw.mem_affineSpan {x y z : P} (h : Wbtw R x y z) : y ∈ line[R, x, z] :=
by
rcases h with ⟨r, ⟨-, rfl⟩⟩
exact line_map_mem_affine_span_pair _ _ _
#align wbtw.mem_affine_span Wbtw.mem_affineSpan
-/- warning: wbtw_comm -> wbtw_comm is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, Iff (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 z y x)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, Iff (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 z y x)
-Case conversion may be inaccurate. Consider using '#align wbtw_comm wbtw_commₓ'. -/
theorem wbtw_comm {x y z : P} : Wbtw R x y z ↔ Wbtw R z y x := by
rw [Wbtw, Wbtw, affineSegment_comm]
#align wbtw_comm wbtw_comm
-/- warning: wbtw.symm -> Wbtw.symm is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 z y x)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 z y x)
-Case conversion may be inaccurate. Consider using '#align wbtw.symm Wbtw.symmₓ'. -/
alias wbtw_comm ↔ Wbtw.symm _
#align wbtw.symm Wbtw.symm
-/- warning: sbtw_comm -> sbtw_comm is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, Iff (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 z y x)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, Iff (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 z y x)
-Case conversion may be inaccurate. Consider using '#align sbtw_comm sbtw_commₓ'. -/
theorem sbtw_comm {x y z : P} : Sbtw R x y z ↔ Sbtw R z y x := by
rw [Sbtw, Sbtw, wbtw_comm, ← and_assoc', ← and_assoc', and_right_comm]
#align sbtw_comm sbtw_comm
-/- warning: sbtw.symm -> Sbtw.symm is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 z y x)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 z y x)
-Case conversion may be inaccurate. Consider using '#align sbtw.symm Sbtw.symmₓ'. -/
alias sbtw_comm ↔ Sbtw.symm _
#align sbtw.symm Sbtw.symm
variable (R)
-/- warning: wbtw_self_left -> wbtw_self_left is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x x y
-but is expected to have type
- forall (R : Type.{u3}) {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x x y
-Case conversion may be inaccurate. Consider using '#align wbtw_self_left wbtw_self_leftₓ'. -/
@[simp]
theorem wbtw_self_left (x y : P) : Wbtw R x x y :=
left_mem_affineSegment _ _ _
#align wbtw_self_left wbtw_self_left
-/- warning: wbtw_self_right -> wbtw_self_right is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y y
-but is expected to have type
- forall (R : Type.{u3}) {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y y
-Case conversion may be inaccurate. Consider using '#align wbtw_self_right wbtw_self_rightₓ'. -/
@[simp]
theorem wbtw_self_right (x y : P) : Wbtw R x y y :=
right_mem_affineSegment _ _ _
#align wbtw_self_right wbtw_self_right
-/- warning: wbtw_self_iff -> wbtw_self_iff is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P}, Iff (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y x) (Eq.{succ u3} P y x)
-but is expected to have type
- forall (R : Type.{u3}) {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P}, Iff (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y x) (Eq.{succ u1} P y x)
-Case conversion may be inaccurate. Consider using '#align wbtw_self_iff wbtw_self_iffₓ'. -/
@[simp]
theorem wbtw_self_iff {x y : P} : Wbtw R x y x ↔ y = x :=
by
@@ -517,34 +328,16 @@ theorem wbtw_self_iff {x y : P} : Wbtw R x y x ↔ y = x :=
exact wbtw_self_left R x x
#align wbtw_self_iff wbtw_self_iff
-/- warning: not_sbtw_self_left -> not_sbtw_self_left is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Not (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x x y)
-but is expected to have type
- forall (R : Type.{u3}) {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Not (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x x y)
-Case conversion may be inaccurate. Consider using '#align not_sbtw_self_left not_sbtw_self_leftₓ'. -/
@[simp]
theorem not_sbtw_self_left (x y : P) : ¬Sbtw R x x y := fun h => h.ne_left rfl
#align not_sbtw_self_left not_sbtw_self_left
-/- warning: not_sbtw_self_right -> not_sbtw_self_right is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Not (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y y)
-but is expected to have type
- forall (R : Type.{u3}) {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Not (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y y)
-Case conversion may be inaccurate. Consider using '#align not_sbtw_self_right not_sbtw_self_rightₓ'. -/
@[simp]
theorem not_sbtw_self_right (x y : P) : ¬Sbtw R x y y := fun h => h.ne_right rfl
#align not_sbtw_self_right not_sbtw_self_right
variable {R}
-/- warning: wbtw.left_ne_right_of_ne_left -> Wbtw.left_ne_right_of_ne_left is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u3} P y x) -> (Ne.{succ u3} P x z)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u1} P y x) -> (Ne.{succ u1} P x z)
-Case conversion may be inaccurate. Consider using '#align wbtw.left_ne_right_of_ne_left Wbtw.left_ne_right_of_ne_leftₓ'. -/
theorem Wbtw.left_ne_right_of_ne_left {x y z : P} (h : Wbtw R x y z) (hne : y ≠ x) : x ≠ z :=
by
rintro rfl
@@ -552,12 +345,6 @@ theorem Wbtw.left_ne_right_of_ne_left {x y z : P} (h : Wbtw R x y z) (hne : y
exact hne h
#align wbtw.left_ne_right_of_ne_left Wbtw.left_ne_right_of_ne_left
-/- warning: wbtw.left_ne_right_of_ne_right -> Wbtw.left_ne_right_of_ne_right is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u3} P y z) -> (Ne.{succ u3} P x z)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u1} P y z) -> (Ne.{succ u1} P x z)
-Case conversion may be inaccurate. Consider using '#align wbtw.left_ne_right_of_ne_right Wbtw.left_ne_right_of_ne_rightₓ'. -/
theorem Wbtw.left_ne_right_of_ne_right {x y z : P} (h : Wbtw R x y z) (hne : y ≠ z) : x ≠ z :=
by
rintro rfl
@@ -565,19 +352,10 @@ theorem Wbtw.left_ne_right_of_ne_right {x y z : P} (h : Wbtw R x y z) (hne : y
exact hne h
#align wbtw.left_ne_right_of_ne_right Wbtw.left_ne_right_of_ne_right
-/- warning: sbtw.left_ne_right -> Sbtw.left_ne_right is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u3} P x z)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u1} P x z)
-Case conversion may be inaccurate. Consider using '#align sbtw.left_ne_right Sbtw.left_ne_rightₓ'. -/
theorem Sbtw.left_ne_right {x y z : P} (h : Sbtw R x y z) : x ≠ z :=
h.Wbtw.left_ne_right_of_ne_left h.2.1
#align sbtw.left_ne_right Sbtw.left_ne_right
-/- warning: sbtw_iff_mem_image_Ioo_and_ne -> sbtw_iff_mem_image_Ioo_and_ne is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align sbtw_iff_mem_image_Ioo_and_ne sbtw_iff_mem_image_Ioo_and_neₓ'. -/
theorem sbtw_iff_mem_image_Ioo_and_ne [NoZeroSMulDivisors R V] {x y z : P} :
Sbtw R x y z ↔ y ∈ lineMap x z '' Set.Ioo (0 : R) 1 ∧ x ≠ z :=
by
@@ -591,22 +369,10 @@ theorem sbtw_iff_mem_image_Ioo_and_ne [NoZeroSMulDivisors R V] {x y z : P} :
variable (R)
-/- warning: not_sbtw_self -> not_sbtw_self is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Not (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y x)
-but is expected to have type
- forall (R : Type.{u3}) {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Not (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y x)
-Case conversion may be inaccurate. Consider using '#align not_sbtw_self not_sbtw_selfₓ'. -/
@[simp]
theorem not_sbtw_self (x y : P) : ¬Sbtw R x y x := fun h => h.left_ne_right rfl
#align not_sbtw_self not_sbtw_self
-/- warning: wbtw_swap_left_iff -> wbtw_swap_left_iff is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} (z : P), Iff (And (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 y x z)) (Eq.{succ u3} P x y)
-but is expected to have type
- forall (R : Type.{u3}) {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} (z : P), Iff (And (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 y x z)) (Eq.{succ u1} P x y)
-Case conversion may be inaccurate. Consider using '#align wbtw_swap_left_iff wbtw_swap_left_iffₓ'. -/
theorem wbtw_swap_left_iff [NoZeroSMulDivisors R V] {x y : P} (z : P) :
Wbtw R x y z ∧ Wbtw R y x z ↔ x = y := by
constructor
@@ -630,12 +396,6 @@ theorem wbtw_swap_left_iff [NoZeroSMulDivisors R V] {x y : P} (z : P) :
exact ⟨wbtw_self_left _ _ _, wbtw_self_left _ _ _⟩
#align wbtw_swap_left_iff wbtw_swap_left_iff
-/- warning: wbtw_swap_right_iff -> wbtw_swap_right_iff is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] (x : P) {y : P} {z : P}, Iff (And (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x z y)) (Eq.{succ u3} P y z)
-but is expected to have type
- forall (R : Type.{u3}) {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] (x : P) {y : P} {z : P}, Iff (And (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x z y)) (Eq.{succ u1} P y z)
-Case conversion may be inaccurate. Consider using '#align wbtw_swap_right_iff wbtw_swap_right_iffₓ'. -/
theorem wbtw_swap_right_iff [NoZeroSMulDivisors R V] (x : P) {y z : P} :
Wbtw R x y z ∧ Wbtw R x z y ↔ y = z :=
by
@@ -645,81 +405,36 @@ theorem wbtw_swap_right_iff [NoZeroSMulDivisors R V] (x : P) {y z : P} :
exact wbtw_swap_left_iff R x
#align wbtw_swap_right_iff wbtw_swap_right_iff
-/- warning: wbtw_rotate_iff -> wbtw_rotate_iff is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] (x : P) {y : P} {z : P}, Iff (And (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 z x y)) (Eq.{succ u3} P x y)
-but is expected to have type
- forall (R : Type.{u3}) {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] (x : P) {y : P} {z : P}, Iff (And (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 z x y)) (Eq.{succ u1} P x y)
-Case conversion may be inaccurate. Consider using '#align wbtw_rotate_iff wbtw_rotate_iffₓ'. -/
theorem wbtw_rotate_iff [NoZeroSMulDivisors R V] (x : P) {y z : P} :
Wbtw R x y z ∧ Wbtw R z x y ↔ x = y := by rw [wbtw_comm, wbtw_swap_right_iff, eq_comm]
#align wbtw_rotate_iff wbtw_rotate_iff
variable {R}
-/- warning: wbtw.swap_left_iff -> Wbtw.swap_left_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Iff (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 y x z) (Eq.{succ u3} P x y))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Iff (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 y x z) (Eq.{succ u1} P x y))
-Case conversion may be inaccurate. Consider using '#align wbtw.swap_left_iff Wbtw.swap_left_iffₓ'. -/
theorem Wbtw.swap_left_iff [NoZeroSMulDivisors R V] {x y z : P} (h : Wbtw R x y z) :
Wbtw R y x z ↔ x = y := by rw [← wbtw_swap_left_iff R z, and_iff_right h]
#align wbtw.swap_left_iff Wbtw.swap_left_iff
-/- warning: wbtw.swap_right_iff -> Wbtw.swap_right_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Iff (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x z y) (Eq.{succ u3} P y z))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Iff (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x z y) (Eq.{succ u1} P y z))
-Case conversion may be inaccurate. Consider using '#align wbtw.swap_right_iff Wbtw.swap_right_iffₓ'. -/
theorem Wbtw.swap_right_iff [NoZeroSMulDivisors R V] {x y z : P} (h : Wbtw R x y z) :
Wbtw R x z y ↔ y = z := by rw [← wbtw_swap_right_iff R x, and_iff_right h]
#align wbtw.swap_right_iff Wbtw.swap_right_iff
-/- warning: wbtw.rotate_iff -> Wbtw.rotate_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Iff (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 z x y) (Eq.{succ u3} P x y))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Iff (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 z x y) (Eq.{succ u1} P x y))
-Case conversion may be inaccurate. Consider using '#align wbtw.rotate_iff Wbtw.rotate_iffₓ'. -/
theorem Wbtw.rotate_iff [NoZeroSMulDivisors R V] {x y z : P} (h : Wbtw R x y z) :
Wbtw R z x y ↔ x = y := by rw [← wbtw_rotate_iff R x, and_iff_right h]
#align wbtw.rotate_iff Wbtw.rotate_iff
-/- warning: sbtw.not_swap_left -> Sbtw.not_swap_left is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Not (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 y x z))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Not (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 y x z))
-Case conversion may be inaccurate. Consider using '#align sbtw.not_swap_left Sbtw.not_swap_leftₓ'. -/
theorem Sbtw.not_swap_left [NoZeroSMulDivisors R V] {x y z : P} (h : Sbtw R x y z) :
¬Wbtw R y x z := fun hs => h.left_ne (h.Wbtw.swap_left_iff.1 hs)
#align sbtw.not_swap_left Sbtw.not_swap_left
-/- warning: sbtw.not_swap_right -> Sbtw.not_swap_right is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Not (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x z y))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Not (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x z y))
-Case conversion may be inaccurate. Consider using '#align sbtw.not_swap_right Sbtw.not_swap_rightₓ'. -/
theorem Sbtw.not_swap_right [NoZeroSMulDivisors R V] {x y z : P} (h : Sbtw R x y z) :
¬Wbtw R x z y := fun hs => h.ne_right (h.Wbtw.swap_right_iff.1 hs)
#align sbtw.not_swap_right Sbtw.not_swap_right
-/- warning: sbtw.not_rotate -> Sbtw.not_rotate is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Not (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 z x y))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Not (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 z x y))
-Case conversion may be inaccurate. Consider using '#align sbtw.not_rotate Sbtw.not_rotateₓ'. -/
theorem Sbtw.not_rotate [NoZeroSMulDivisors R V] {x y z : P} (h : Sbtw R x y z) : ¬Wbtw R z x y :=
fun hs => h.left_ne (h.Wbtw.rotate_iff.1 hs)
#align sbtw.not_rotate Sbtw.not_rotate
-/- warning: wbtw_line_map_iff -> wbtw_lineMap_iff is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align wbtw_line_map_iff wbtw_lineMap_iffₓ'. -/
@[simp]
theorem wbtw_lineMap_iff [NoZeroSMulDivisors R V] {x y : P} {r : R} :
Wbtw R x (lineMap x y r) y ↔ x = y ∨ r ∈ Set.Icc (0 : R) 1 :=
@@ -728,9 +443,6 @@ theorem wbtw_lineMap_iff [NoZeroSMulDivisors R V] {x y : P} {r : R} :
rw [or_iff_right hxy, Wbtw, affineSegment, (line_map_injective R hxy).mem_set_image]
#align wbtw_line_map_iff wbtw_lineMap_iff
-/- warning: sbtw_line_map_iff -> sbtw_lineMap_iff is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align sbtw_line_map_iff sbtw_lineMap_iffₓ'. -/
@[simp]
theorem sbtw_lineMap_iff [NoZeroSMulDivisors R V] {x y : P} {r : R} :
Sbtw R x (lineMap x y r) y ↔ x ≠ y ∧ r ∈ Set.Ioo (0 : R) 1 :=
@@ -742,36 +454,18 @@ theorem sbtw_lineMap_iff [NoZeroSMulDivisors R V] {x y : P} {r : R} :
omit V
-/- warning: wbtw_mul_sub_add_iff -> wbtw_mul_sub_add_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} [_inst_1 : OrderedRing.{u1} R] [_inst_8 : NoZeroDivisors.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))] {x : R} {y : R} {r : R}, Iff (Wbtw.{u1, u1, u1} R R R _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) x (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) r (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (SubNegMonoid.toHasSub.{u1} R (AddGroup.toSubNegMonoid.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))) y x)) x) y) (Or (Eq.{succ u1} R x y) (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) r (Set.Icc.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))))))))
-but is expected to have type
- forall {R : Type.{u1}} [_inst_1 : OrderedRing.{u1} R] [_inst_8 : NoZeroDivisors.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1))))] {x : R} {y : R} {r : R}, Iff (Wbtw.{u1, u1, u1} R R R _inst_1 (OrderedAddCommGroup.toAddCommGroup.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1)) (Semiring.toModule.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (Ring.toAddGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) x (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) r (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (Ring.toSub.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) y x)) x) y) (Or (Eq.{succ u1} R x y) (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) r (Set.Icc.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedRing.toPartialOrder.{u1} R _inst_1)) (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)))))) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1))))))))
-Case conversion may be inaccurate. Consider using '#align wbtw_mul_sub_add_iff wbtw_mul_sub_add_iffₓ'. -/
@[simp]
theorem wbtw_mul_sub_add_iff [NoZeroDivisors R] {x y r : R} :
Wbtw R x (r * (y - x) + x) y ↔ x = y ∨ r ∈ Set.Icc (0 : R) 1 :=
wbtw_lineMap_iff
#align wbtw_mul_sub_add_iff wbtw_mul_sub_add_iff
-/- warning: sbtw_mul_sub_add_iff -> sbtw_mul_sub_add_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} [_inst_1 : OrderedRing.{u1} R] [_inst_8 : NoZeroDivisors.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))] {x : R} {y : R} {r : R}, Iff (Sbtw.{u1, u1, u1} R R R _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) x (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) r (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (SubNegMonoid.toHasSub.{u1} R (AddGroup.toSubNegMonoid.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))) y x)) x) y) (And (Ne.{succ u1} R x y) (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) r (Set.Ioo.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))))))))
-but is expected to have type
- forall {R : Type.{u1}} [_inst_1 : OrderedRing.{u1} R] [_inst_8 : NoZeroDivisors.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1))))] {x : R} {y : R} {r : R}, Iff (Sbtw.{u1, u1, u1} R R R _inst_1 (OrderedAddCommGroup.toAddCommGroup.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1)) (Semiring.toModule.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (Ring.toAddGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) x (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) r (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (Ring.toSub.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) y x)) x) y) (And (Ne.{succ u1} R x y) (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) r (Set.Ioo.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedRing.toPartialOrder.{u1} R _inst_1)) (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)))))) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1))))))))
-Case conversion may be inaccurate. Consider using '#align sbtw_mul_sub_add_iff sbtw_mul_sub_add_iffₓ'. -/
@[simp]
theorem sbtw_mul_sub_add_iff [NoZeroDivisors R] {x y r : R} :
Sbtw R x (r * (y - x) + x) y ↔ x ≠ y ∧ r ∈ Set.Ioo (0 : R) 1 :=
sbtw_lineMap_iff
#align sbtw_mul_sub_add_iff sbtw_mul_sub_add_iff
-/- warning: wbtw_zero_one_iff -> wbtw_zero_one_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} [_inst_1 : OrderedRing.{u1} R] {x : R}, Iff (Wbtw.{u1, u1, u1} R R R _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) x (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) x (Set.Icc.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))))
-but is expected to have type
- forall {R : Type.{u1}} [_inst_1 : OrderedRing.{u1} R] {x : R}, Iff (Wbtw.{u1, u1, u1} R R R _inst_1 (OrderedAddCommGroup.toAddCommGroup.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1)) (Semiring.toModule.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (Ring.toAddGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)))))) x (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)))))) (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x (Set.Icc.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedRing.toPartialOrder.{u1} R _inst_1)) (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)))))) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)))))))
-Case conversion may be inaccurate. Consider using '#align wbtw_zero_one_iff wbtw_zero_one_iffₓ'. -/
@[simp]
theorem wbtw_zero_one_iff {x : R} : Wbtw R 0 x 1 ↔ x ∈ Set.Icc (0 : R) 1 :=
by
@@ -779,23 +473,11 @@ theorem wbtw_zero_one_iff {x : R} : Wbtw R 0 x 1 ↔ x ∈ Set.Icc (0 : R) 1 :=
simp
#align wbtw_zero_one_iff wbtw_zero_one_iff
-/- warning: wbtw_one_zero_iff -> wbtw_one_zero_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} [_inst_1 : OrderedRing.{u1} R] {x : R}, Iff (Wbtw.{u1, u1, u1} R R R _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))))) x (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))))))) (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) x (Set.Icc.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))))
-but is expected to have type
- forall {R : Type.{u1}} [_inst_1 : OrderedRing.{u1} R] {x : R}, Iff (Wbtw.{u1, u1, u1} R R R _inst_1 (OrderedAddCommGroup.toAddCommGroup.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1)) (Semiring.toModule.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (Ring.toAddGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1))))) x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1))))))) (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x (Set.Icc.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedRing.toPartialOrder.{u1} R _inst_1)) (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)))))) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)))))))
-Case conversion may be inaccurate. Consider using '#align wbtw_one_zero_iff wbtw_one_zero_iffₓ'. -/
@[simp]
theorem wbtw_one_zero_iff {x : R} : Wbtw R 1 x 0 ↔ x ∈ Set.Icc (0 : R) 1 := by
rw [wbtw_comm, wbtw_zero_one_iff]
#align wbtw_one_zero_iff wbtw_one_zero_iff
-/- warning: sbtw_zero_one_iff -> sbtw_zero_one_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} [_inst_1 : OrderedRing.{u1} R] {x : R}, Iff (Sbtw.{u1, u1, u1} R R R _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) x (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) x (Set.Ioo.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))))
-but is expected to have type
- forall {R : Type.{u1}} [_inst_1 : OrderedRing.{u1} R] {x : R}, Iff (Sbtw.{u1, u1, u1} R R R _inst_1 (OrderedAddCommGroup.toAddCommGroup.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1)) (Semiring.toModule.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (Ring.toAddGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)))))) x (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)))))) (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x (Set.Ioo.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedRing.toPartialOrder.{u1} R _inst_1)) (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)))))) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)))))))
-Case conversion may be inaccurate. Consider using '#align sbtw_zero_one_iff sbtw_zero_one_iffₓ'. -/
@[simp]
theorem sbtw_zero_one_iff {x : R} : Sbtw R 0 x 1 ↔ x ∈ Set.Ioo (0 : R) 1 :=
by
@@ -805,12 +487,6 @@ theorem sbtw_zero_one_iff {x : R} : Sbtw R 0 x 1 ↔ x ∈ Set.Ioo (0 : R) 1 :=
⟨⟨h.1.le, h.2.le⟩, h.1.ne', h.2.Ne⟩⟩
#align sbtw_zero_one_iff sbtw_zero_one_iff
-/- warning: sbtw_one_zero_iff -> sbtw_one_zero_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} [_inst_1 : OrderedRing.{u1} R] {x : R}, Iff (Sbtw.{u1, u1, u1} R R R _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))))) x (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))))))) (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) x (Set.Ioo.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))))
-but is expected to have type
- forall {R : Type.{u1}} [_inst_1 : OrderedRing.{u1} R] {x : R}, Iff (Sbtw.{u1, u1, u1} R R R _inst_1 (OrderedAddCommGroup.toAddCommGroup.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1)) (Semiring.toModule.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (Ring.toAddGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1))))) x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1))))))) (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x (Set.Ioo.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedRing.toPartialOrder.{u1} R _inst_1)) (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)))))) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)))))))
-Case conversion may be inaccurate. Consider using '#align sbtw_one_zero_iff sbtw_one_zero_iffₓ'. -/
@[simp]
theorem sbtw_one_zero_iff {x : R} : Sbtw R 1 x 0 ↔ x ∈ Set.Ioo (0 : R) 1 := by
rw [sbtw_comm, sbtw_zero_one_iff]
@@ -818,12 +494,6 @@ theorem sbtw_one_zero_iff {x : R} : Sbtw R 1 x 0 ↔ x ∈ Set.Ioo (0 : R) 1 :=
include V
-/- warning: wbtw.trans_left -> Wbtw.trans_left is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z) -> (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x y) -> (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z) -> (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x y) -> (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z)
-Case conversion may be inaccurate. Consider using '#align wbtw.trans_left Wbtw.trans_leftₓ'. -/
theorem Wbtw.trans_left {w x y z : P} (h₁ : Wbtw R w y z) (h₂ : Wbtw R w x y) : Wbtw R w x z :=
by
rcases h₁ with ⟨t₁, ht₁, rfl⟩
@@ -832,24 +502,12 @@ theorem Wbtw.trans_left {w x y z : P} (h₁ : Wbtw R w y z) (h₂ : Wbtw R w x y
simp [line_map_apply, smul_smul]
#align wbtw.trans_left Wbtw.trans_left
-/- warning: wbtw.trans_right -> Wbtw.trans_right is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z) -> (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z) -> (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z)
-Case conversion may be inaccurate. Consider using '#align wbtw.trans_right Wbtw.trans_rightₓ'. -/
theorem Wbtw.trans_right {w x y z : P} (h₁ : Wbtw R w x z) (h₂ : Wbtw R x y z) : Wbtw R w y z :=
by
rw [wbtw_comm] at *
exact h₁.trans_left h₂
#align wbtw.trans_right Wbtw.trans_right
-/- warning: wbtw.trans_sbtw_left -> Wbtw.trans_sbtw_left is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z) -> (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x y) -> (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z) -> (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x y) -> (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z)
-Case conversion may be inaccurate. Consider using '#align wbtw.trans_sbtw_left Wbtw.trans_sbtw_leftₓ'. -/
theorem Wbtw.trans_sbtw_left [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Wbtw R w y z)
(h₂ : Sbtw R w x y) : Sbtw R w x z :=
by
@@ -858,12 +516,6 @@ theorem Wbtw.trans_sbtw_left [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Wbtw
exact h₂.right_ne ((wbtw_swap_right_iff R w).1 ⟨h₁, h₂.wbtw⟩)
#align wbtw.trans_sbtw_left Wbtw.trans_sbtw_left
-/- warning: wbtw.trans_sbtw_right -> Wbtw.trans_sbtw_right is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z) -> (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z) -> (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z)
-Case conversion may be inaccurate. Consider using '#align wbtw.trans_sbtw_right Wbtw.trans_sbtw_rightₓ'. -/
theorem Wbtw.trans_sbtw_right [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Wbtw R w x z)
(h₂ : Sbtw R x y z) : Sbtw R w y z :=
by
@@ -872,34 +524,16 @@ theorem Wbtw.trans_sbtw_right [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Wbt
exact h₁.trans_sbtw_left h₂
#align wbtw.trans_sbtw_right Wbtw.trans_sbtw_right
-/- warning: sbtw.trans_left -> Sbtw.trans_left is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z) -> (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x y) -> (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z) -> (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x y) -> (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z)
-Case conversion may be inaccurate. Consider using '#align sbtw.trans_left Sbtw.trans_leftₓ'. -/
theorem Sbtw.trans_left [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Sbtw R w y z)
(h₂ : Sbtw R w x y) : Sbtw R w x z :=
h₁.Wbtw.trans_sbtw_left h₂
#align sbtw.trans_left Sbtw.trans_left
-/- warning: sbtw.trans_right -> Sbtw.trans_right is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z) -> (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z) -> (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z)
-Case conversion may be inaccurate. Consider using '#align sbtw.trans_right Sbtw.trans_rightₓ'. -/
theorem Sbtw.trans_right [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Sbtw R w x z)
(h₂ : Sbtw R x y z) : Sbtw R w y z :=
h₁.Wbtw.trans_sbtw_right h₂
#align sbtw.trans_right Sbtw.trans_right
-/- warning: wbtw.trans_left_ne -> Wbtw.trans_left_ne is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z) -> (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x y) -> (Ne.{succ u3} P y z) -> (Ne.{succ u3} P x z)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z) -> (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x y) -> (Ne.{succ u1} P y z) -> (Ne.{succ u1} P x z)
-Case conversion may be inaccurate. Consider using '#align wbtw.trans_left_ne Wbtw.trans_left_neₓ'. -/
theorem Wbtw.trans_left_ne [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Wbtw R w y z)
(h₂ : Wbtw R w x y) (h : y ≠ z) : x ≠ z :=
by
@@ -907,12 +541,6 @@ theorem Wbtw.trans_left_ne [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Wbtw R
exact h (h₁.swap_right_iff.1 h₂)
#align wbtw.trans_left_ne Wbtw.trans_left_ne
-/- warning: wbtw.trans_right_ne -> Wbtw.trans_right_ne is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z) -> (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u3} P w x) -> (Ne.{succ u3} P w y)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z) -> (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u1} P w x) -> (Ne.{succ u1} P w y)
-Case conversion may be inaccurate. Consider using '#align wbtw.trans_right_ne Wbtw.trans_right_neₓ'. -/
theorem Wbtw.trans_right_ne [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Wbtw R w x z)
(h₂ : Wbtw R x y z) (h : w ≠ x) : w ≠ y :=
by
@@ -920,31 +548,16 @@ theorem Wbtw.trans_right_ne [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Wbtw
exact h (h₁.swap_left_iff.1 h₂)
#align wbtw.trans_right_ne Wbtw.trans_right_ne
-/- warning: sbtw.trans_wbtw_left_ne -> Sbtw.trans_wbtw_left_ne is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z) -> (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x y) -> (Ne.{succ u3} P x z)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z) -> (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x y) -> (Ne.{succ u1} P x z)
-Case conversion may be inaccurate. Consider using '#align sbtw.trans_wbtw_left_ne Sbtw.trans_wbtw_left_neₓ'. -/
theorem Sbtw.trans_wbtw_left_ne [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Sbtw R w y z)
(h₂ : Wbtw R w x y) : x ≠ z :=
h₁.Wbtw.trans_left_ne h₂ h₁.ne_right
#align sbtw.trans_wbtw_left_ne Sbtw.trans_wbtw_left_ne
-/- warning: sbtw.trans_wbtw_right_ne -> Sbtw.trans_wbtw_right_ne is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z) -> (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u3} P w y)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z) -> (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u1} P w y)
-Case conversion may be inaccurate. Consider using '#align sbtw.trans_wbtw_right_ne Sbtw.trans_wbtw_right_neₓ'. -/
theorem Sbtw.trans_wbtw_right_ne [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Sbtw R w x z)
(h₂ : Wbtw R x y z) : w ≠ y :=
h₁.Wbtw.trans_right_ne h₂ h₁.left_ne
#align sbtw.trans_wbtw_right_ne Sbtw.trans_wbtw_right_ne
-/- warning: sbtw.affine_combination_of_mem_affine_span_pair -> Sbtw.affineCombination_of_mem_affineSpan_pair is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align sbtw.affine_combination_of_mem_affine_span_pair Sbtw.affineCombination_of_mem_affineSpan_pairₓ'. -/
theorem Sbtw.affineCombination_of_mem_affineSpan_pair [NoZeroDivisors R] [NoZeroSMulDivisors R V]
{ι : Type _} {p : ι → P} (ha : AffineIndependent R p) {w w₁ w₂ : ι → R} {s : Finset ι}
(hw : (∑ i in s, w i) = 1) (hw₁ : (∑ i in s, w₁ i) = 1) (hw₂ : (∑ i in s, w₂ i) = 1)
@@ -981,12 +594,6 @@ include V
variable {R}
-/- warning: wbtw.same_ray_vsub -> Wbtw.sameRay_vsub is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : StrictOrderedCommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (StrictOrderedRing.toRing.{u1} R (StrictOrderedCommRing.toStrictOrderedRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (StrictOrderedCommRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 x y z) -> (SameRay.{u1, u2} R (StrictOrderedCommRing.toStrictOrderedCommSemiring.{u1} R _inst_1) V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) y x) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) z y))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : StrictOrderedCommRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (StrictOrderedSemiring.toSemiring.{u3} R (StrictOrderedCommSemiring.toStrictOrderedSemiring.{u3} R (StrictOrderedCommRing.toStrictOrderedCommSemiring.{u3} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 x y z) -> (SameRay.{u3, u2} R (StrictOrderedCommRing.toStrictOrderedCommSemiring.{u3} R _inst_1) V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) y x) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) z y))
-Case conversion may be inaccurate. Consider using '#align wbtw.same_ray_vsub Wbtw.sameRay_vsubₓ'. -/
theorem Wbtw.sameRay_vsub {x y z : P} (h : Wbtw R x y z) : SameRay R (y -ᵥ x) (z -ᵥ y) :=
by
rcases h with ⟨t, ⟨ht0, ht1⟩, rfl⟩
@@ -998,24 +605,12 @@ theorem Wbtw.sameRay_vsub {x y z : P} (h : Wbtw R x y z) : SameRay R (y -ᵥ x)
ring_nf
#align wbtw.same_ray_vsub Wbtw.sameRay_vsub
-/- warning: wbtw.same_ray_vsub_left -> Wbtw.sameRay_vsub_left is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : StrictOrderedCommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (StrictOrderedRing.toRing.{u1} R (StrictOrderedCommRing.toStrictOrderedRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (StrictOrderedCommRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 x y z) -> (SameRay.{u1, u2} R (StrictOrderedCommRing.toStrictOrderedCommSemiring.{u1} R _inst_1) V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) y x) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) z x))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : StrictOrderedCommRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (StrictOrderedSemiring.toSemiring.{u3} R (StrictOrderedCommSemiring.toStrictOrderedSemiring.{u3} R (StrictOrderedCommRing.toStrictOrderedCommSemiring.{u3} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 x y z) -> (SameRay.{u3, u2} R (StrictOrderedCommRing.toStrictOrderedCommSemiring.{u3} R _inst_1) V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) y x) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) z x))
-Case conversion may be inaccurate. Consider using '#align wbtw.same_ray_vsub_left Wbtw.sameRay_vsub_leftₓ'. -/
theorem Wbtw.sameRay_vsub_left {x y z : P} (h : Wbtw R x y z) : SameRay R (y -ᵥ x) (z -ᵥ x) :=
by
rcases h with ⟨t, ⟨ht0, ht1⟩, rfl⟩
simpa [line_map_apply] using SameRay.sameRay_nonneg_smul_left (z -ᵥ x) ht0
#align wbtw.same_ray_vsub_left Wbtw.sameRay_vsub_left
-/- warning: wbtw.same_ray_vsub_right -> Wbtw.sameRay_vsub_right is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : StrictOrderedCommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (StrictOrderedRing.toRing.{u1} R (StrictOrderedCommRing.toStrictOrderedRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (StrictOrderedCommRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 x y z) -> (SameRay.{u1, u2} R (StrictOrderedCommRing.toStrictOrderedCommSemiring.{u1} R _inst_1) V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) z x) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) z y))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : StrictOrderedCommRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (StrictOrderedSemiring.toSemiring.{u3} R (StrictOrderedCommSemiring.toStrictOrderedSemiring.{u3} R (StrictOrderedCommRing.toStrictOrderedCommSemiring.{u3} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 x y z) -> (SameRay.{u3, u2} R (StrictOrderedCommRing.toStrictOrderedCommSemiring.{u3} R _inst_1) V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) z x) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) z y))
-Case conversion may be inaccurate. Consider using '#align wbtw.same_ray_vsub_right Wbtw.sameRay_vsub_rightₓ'. -/
theorem Wbtw.sameRay_vsub_right {x y z : P} (h : Wbtw R x y z) : SameRay R (z -ᵥ x) (z -ᵥ y) :=
by
rcases h with ⟨t, ⟨ht0, ht1⟩, rfl⟩
@@ -1033,9 +628,6 @@ include V
variable {R}
-/- warning: sbtw_of_sbtw_of_sbtw_of_mem_affine_span_pair -> sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align sbtw_of_sbtw_of_sbtw_of_mem_affine_span_pair sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pairₓ'. -/
/-- Suppose lines from two vertices of a triangle to interior points of the opposite side meet at
`p`. Then `p` lies in the interior of the first (and by symmetry the other) segment from a
vertex to the point on the opposite side. -/
@@ -1121,9 +713,6 @@ include V
variable {R}
-/- warning: wbtw_iff_left_eq_or_right_mem_image_Ici -> wbtw_iff_left_eq_or_right_mem_image_Ici is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align wbtw_iff_left_eq_or_right_mem_image_Ici wbtw_iff_left_eq_or_right_mem_image_Iciₓ'. -/
theorem wbtw_iff_left_eq_or_right_mem_image_Ici {x y z : P} :
Wbtw R x y z ↔ x = y ∨ z ∈ lineMap x y '' Set.Ici (1 : R) :=
by
@@ -1143,20 +732,11 @@ theorem wbtw_iff_left_eq_or_right_mem_image_Ici {x y z : P} :
rw [inv_mul_cancel (one_pos.trans_le hr).ne', one_smul, vsub_vadd]
#align wbtw_iff_left_eq_or_right_mem_image_Ici wbtw_iff_left_eq_or_right_mem_image_Ici
-/- warning: wbtw.right_mem_image_Ici_of_left_ne -> Wbtw.right_mem_image_Ici_of_left_ne is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align wbtw.right_mem_image_Ici_of_left_ne Wbtw.right_mem_image_Ici_of_left_neₓ'. -/
theorem Wbtw.right_mem_image_Ici_of_left_ne {x y z : P} (h : Wbtw R x y z) (hne : x ≠ y) :
z ∈ lineMap x y '' Set.Ici (1 : R) :=
(wbtw_iff_left_eq_or_right_mem_image_Ici.1 h).resolve_left hne
#align wbtw.right_mem_image_Ici_of_left_ne Wbtw.right_mem_image_Ici_of_left_ne
-/- warning: wbtw.right_mem_affine_span_of_left_ne -> Wbtw.right_mem_affineSpan_of_left_ne is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u3} P x y) -> (Membership.Mem.{u3, u3} P (AffineSubspace.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4) (SetLike.hasMem.{u3, u3} (AffineSubspace.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4) P (AffineSubspace.setLike.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4)) z (affineSpan.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 (Insert.insert.{u3, u3} P (Set.{u3} P) (Set.hasInsert.{u3} P) x (Singleton.singleton.{u3, u3} P (Set.{u3} P) (Set.hasSingleton.{u3} P) y))))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u1} P x y) -> (Membership.mem.{u1, u1} P (AffineSubspace.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (AffineSubspace.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4) P (AffineSubspace.instSetLikeAffineSubspace.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4)) z (affineSpan.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 (Insert.insert.{u1, u1} P (Set.{u1} P) (Set.instInsertSet.{u1} P) x (Singleton.singleton.{u1, u1} P (Set.{u1} P) (Set.instSingletonSet.{u1} P) y))))
-Case conversion may be inaccurate. Consider using '#align wbtw.right_mem_affine_span_of_left_ne Wbtw.right_mem_affineSpan_of_left_neₓ'. -/
theorem Wbtw.right_mem_affineSpan_of_left_ne {x y z : P} (h : Wbtw R x y z) (hne : x ≠ y) :
z ∈ line[R, x, y] :=
by
@@ -1164,9 +744,6 @@ theorem Wbtw.right_mem_affineSpan_of_left_ne {x y z : P} (h : Wbtw R x y z) (hne
exact line_map_mem_affine_span_pair _ _ _
#align wbtw.right_mem_affine_span_of_left_ne Wbtw.right_mem_affineSpan_of_left_ne
-/- warning: sbtw_iff_left_ne_and_right_mem_image_IoI -> sbtw_iff_left_ne_and_right_mem_image_Ioi is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align sbtw_iff_left_ne_and_right_mem_image_IoI sbtw_iff_left_ne_and_right_mem_image_Ioiₓ'. -/
theorem sbtw_iff_left_ne_and_right_mem_image_Ioi {x y z : P} :
Sbtw R x y z ↔ x ≠ y ∧ z ∈ lineMap x y '' Set.Ioi (1 : R) :=
by
@@ -1188,80 +765,44 @@ theorem sbtw_iff_left_ne_and_right_mem_image_Ioi {x y z : P} :
exact ⟨hr.ne, hne.symm⟩
#align sbtw_iff_left_ne_and_right_mem_image_IoI sbtw_iff_left_ne_and_right_mem_image_Ioi
-/- warning: sbtw.right_mem_image_Ioi -> Sbtw.right_mem_image_Ioi is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align sbtw.right_mem_image_Ioi Sbtw.right_mem_image_Ioiₓ'. -/
theorem Sbtw.right_mem_image_Ioi {x y z : P} (h : Sbtw R x y z) :
z ∈ lineMap x y '' Set.Ioi (1 : R) :=
(sbtw_iff_left_ne_and_right_mem_image_Ioi.1 h).2
#align sbtw.right_mem_image_Ioi Sbtw.right_mem_image_Ioi
-/- warning: sbtw.right_mem_affine_span -> Sbtw.right_mem_affineSpan is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Membership.Mem.{u3, u3} P (AffineSubspace.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4) (SetLike.hasMem.{u3, u3} (AffineSubspace.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4) P (AffineSubspace.setLike.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4)) z (affineSpan.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 (Insert.insert.{u3, u3} P (Set.{u3} P) (Set.hasInsert.{u3} P) x (Singleton.singleton.{u3, u3} P (Set.{u3} P) (Set.hasSingleton.{u3} P) y))))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Membership.mem.{u1, u1} P (AffineSubspace.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (AffineSubspace.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4) P (AffineSubspace.instSetLikeAffineSubspace.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4)) z (affineSpan.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 (Insert.insert.{u1, u1} P (Set.{u1} P) (Set.instInsertSet.{u1} P) x (Singleton.singleton.{u1, u1} P (Set.{u1} P) (Set.instSingletonSet.{u1} P) y))))
-Case conversion may be inaccurate. Consider using '#align sbtw.right_mem_affine_span Sbtw.right_mem_affineSpanₓ'. -/
theorem Sbtw.right_mem_affineSpan {x y z : P} (h : Sbtw R x y z) : z ∈ line[R, x, y] :=
h.Wbtw.right_mem_affineSpan_of_left_ne h.left_ne
#align sbtw.right_mem_affine_span Sbtw.right_mem_affineSpan
-/- warning: wbtw_iff_right_eq_or_left_mem_image_Ici -> wbtw_iff_right_eq_or_left_mem_image_Ici is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align wbtw_iff_right_eq_or_left_mem_image_Ici wbtw_iff_right_eq_or_left_mem_image_Iciₓ'. -/
theorem wbtw_iff_right_eq_or_left_mem_image_Ici {x y z : P} :
Wbtw R x y z ↔ z = y ∨ x ∈ lineMap z y '' Set.Ici (1 : R) := by
rw [wbtw_comm, wbtw_iff_left_eq_or_right_mem_image_Ici]
#align wbtw_iff_right_eq_or_left_mem_image_Ici wbtw_iff_right_eq_or_left_mem_image_Ici
-/- warning: wbtw.left_mem_image_Ici_of_right_ne -> Wbtw.left_mem_image_Ici_of_right_ne is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align wbtw.left_mem_image_Ici_of_right_ne Wbtw.left_mem_image_Ici_of_right_neₓ'. -/
theorem Wbtw.left_mem_image_Ici_of_right_ne {x y z : P} (h : Wbtw R x y z) (hne : z ≠ y) :
x ∈ lineMap z y '' Set.Ici (1 : R) :=
h.symm.right_mem_image_Ici_of_left_ne hne
#align wbtw.left_mem_image_Ici_of_right_ne Wbtw.left_mem_image_Ici_of_right_ne
-/- warning: wbtw.left_mem_affine_span_of_right_ne -> Wbtw.left_mem_affineSpan_of_right_ne is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u3} P z y) -> (Membership.Mem.{u3, u3} P (AffineSubspace.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4) (SetLike.hasMem.{u3, u3} (AffineSubspace.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4) P (AffineSubspace.setLike.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4)) x (affineSpan.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 (Insert.insert.{u3, u3} P (Set.{u3} P) (Set.hasInsert.{u3} P) z (Singleton.singleton.{u3, u3} P (Set.{u3} P) (Set.hasSingleton.{u3} P) y))))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u1} P z y) -> (Membership.mem.{u1, u1} P (AffineSubspace.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (AffineSubspace.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4) P (AffineSubspace.instSetLikeAffineSubspace.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4)) x (affineSpan.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 (Insert.insert.{u1, u1} P (Set.{u1} P) (Set.instInsertSet.{u1} P) z (Singleton.singleton.{u1, u1} P (Set.{u1} P) (Set.instSingletonSet.{u1} P) y))))
-Case conversion may be inaccurate. Consider using '#align wbtw.left_mem_affine_span_of_right_ne Wbtw.left_mem_affineSpan_of_right_neₓ'. -/
theorem Wbtw.left_mem_affineSpan_of_right_ne {x y z : P} (h : Wbtw R x y z) (hne : z ≠ y) :
x ∈ line[R, z, y] :=
h.symm.right_mem_affineSpan_of_left_ne hne
#align wbtw.left_mem_affine_span_of_right_ne Wbtw.left_mem_affineSpan_of_right_ne
-/- warning: sbtw_iff_right_ne_and_left_mem_image_IoI -> sbtw_iff_right_ne_and_left_mem_image_Ioi is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align sbtw_iff_right_ne_and_left_mem_image_IoI sbtw_iff_right_ne_and_left_mem_image_Ioiₓ'. -/
theorem sbtw_iff_right_ne_and_left_mem_image_Ioi {x y z : P} :
Sbtw R x y z ↔ z ≠ y ∧ x ∈ lineMap z y '' Set.Ioi (1 : R) := by
rw [sbtw_comm, sbtw_iff_left_ne_and_right_mem_image_Ioi]
#align sbtw_iff_right_ne_and_left_mem_image_IoI sbtw_iff_right_ne_and_left_mem_image_Ioi
-/- warning: sbtw.left_mem_image_Ioi -> Sbtw.left_mem_image_Ioi is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align sbtw.left_mem_image_Ioi Sbtw.left_mem_image_Ioiₓ'. -/
theorem Sbtw.left_mem_image_Ioi {x y z : P} (h : Sbtw R x y z) :
x ∈ lineMap z y '' Set.Ioi (1 : R) :=
h.symm.right_mem_image_Ioi
#align sbtw.left_mem_image_Ioi Sbtw.left_mem_image_Ioi
-/- warning: sbtw.left_mem_affine_span -> Sbtw.left_mem_affineSpan is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Membership.Mem.{u3, u3} P (AffineSubspace.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4) (SetLike.hasMem.{u3, u3} (AffineSubspace.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4) P (AffineSubspace.setLike.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4)) x (affineSpan.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 (Insert.insert.{u3, u3} P (Set.{u3} P) (Set.hasInsert.{u3} P) z (Singleton.singleton.{u3, u3} P (Set.{u3} P) (Set.hasSingleton.{u3} P) y))))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Membership.mem.{u1, u1} P (AffineSubspace.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (AffineSubspace.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4) P (AffineSubspace.instSetLikeAffineSubspace.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4)) x (affineSpan.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 (Insert.insert.{u1, u1} P (Set.{u1} P) (Set.instInsertSet.{u1} P) z (Singleton.singleton.{u1, u1} P (Set.{u1} P) (Set.instSingletonSet.{u1} P) y))))
-Case conversion may be inaccurate. Consider using '#align sbtw.left_mem_affine_span Sbtw.left_mem_affineSpanₓ'. -/
theorem Sbtw.left_mem_affineSpan {x y z : P} (h : Sbtw R x y z) : x ∈ line[R, z, y] :=
h.symm.right_mem_affineSpan
#align sbtw.left_mem_affine_span Sbtw.left_mem_affineSpan
-/- warning: wbtw_smul_vadd_smul_vadd_of_nonneg_of_le -> wbtw_smul_vadd_smul_vadd_of_nonneg_of_le is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align wbtw_smul_vadd_smul_vadd_of_nonneg_of_le wbtw_smul_vadd_smul_vadd_of_nonneg_of_leₓ'. -/
theorem wbtw_smul_vadd_smul_vadd_of_nonneg_of_le (x : P) (v : V) {r₁ r₂ : R} (hr₁ : 0 ≤ r₁)
(hr₂ : r₁ ≤ r₂) : Wbtw R x (r₁ • v +ᵥ x) (r₂ • v +ᵥ x) :=
by
@@ -1270,9 +811,6 @@ theorem wbtw_smul_vadd_smul_vadd_of_nonneg_of_le (x : P) (v : V) {r₁ r₂ : R}
simp [line_map_apply, smul_smul, ((hr₁.lt_of_ne' h).trans_le hr₂).Ne.symm]
#align wbtw_smul_vadd_smul_vadd_of_nonneg_of_le wbtw_smul_vadd_smul_vadd_of_nonneg_of_le
-/- warning: wbtw_or_wbtw_smul_vadd_of_nonneg -> wbtw_or_wbtw_smul_vadd_of_nonneg is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align wbtw_or_wbtw_smul_vadd_of_nonneg wbtw_or_wbtw_smul_vadd_of_nonnegₓ'. -/
theorem wbtw_or_wbtw_smul_vadd_of_nonneg (x : P) (v : V) {r₁ r₂ : R} (hr₁ : 0 ≤ r₁) (hr₂ : 0 ≤ r₂) :
Wbtw R x (r₁ • v +ᵥ x) (r₂ • v +ᵥ x) ∨ Wbtw R x (r₂ • v +ᵥ x) (r₁ • v +ᵥ x) :=
by
@@ -1281,9 +819,6 @@ theorem wbtw_or_wbtw_smul_vadd_of_nonneg (x : P) (v : V) {r₁ r₂ : R} (hr₁
· exact Or.inr (wbtw_smul_vadd_smul_vadd_of_nonneg_of_le x v hr₂ h)
#align wbtw_or_wbtw_smul_vadd_of_nonneg wbtw_or_wbtw_smul_vadd_of_nonneg
-/- warning: wbtw_smul_vadd_smul_vadd_of_nonpos_of_le -> wbtw_smul_vadd_smul_vadd_of_nonpos_of_le is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align wbtw_smul_vadd_smul_vadd_of_nonpos_of_le wbtw_smul_vadd_smul_vadd_of_nonpos_of_leₓ'. -/
theorem wbtw_smul_vadd_smul_vadd_of_nonpos_of_le (x : P) (v : V) {r₁ r₂ : R} (hr₁ : r₁ ≤ 0)
(hr₂ : r₂ ≤ r₁) : Wbtw R x (r₁ • v +ᵥ x) (r₂ • v +ᵥ x) := by
convert wbtw_smul_vadd_smul_vadd_of_nonneg_of_le x (-v) (Left.nonneg_neg_iff.2 hr₁)
@@ -1292,9 +827,6 @@ theorem wbtw_smul_vadd_smul_vadd_of_nonpos_of_le (x : P) (v : V) {r₁ r₂ : R}
rw [neg_smul_neg]
#align wbtw_smul_vadd_smul_vadd_of_nonpos_of_le wbtw_smul_vadd_smul_vadd_of_nonpos_of_le
-/- warning: wbtw_or_wbtw_smul_vadd_of_nonpos -> wbtw_or_wbtw_smul_vadd_of_nonpos is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align wbtw_or_wbtw_smul_vadd_of_nonpos wbtw_or_wbtw_smul_vadd_of_nonposₓ'. -/
theorem wbtw_or_wbtw_smul_vadd_of_nonpos (x : P) (v : V) {r₁ r₂ : R} (hr₁ : r₁ ≤ 0) (hr₂ : r₂ ≤ 0) :
Wbtw R x (r₁ • v +ᵥ x) (r₂ • v +ᵥ x) ∨ Wbtw R x (r₂ • v +ᵥ x) (r₁ • v +ᵥ x) :=
by
@@ -1303,9 +835,6 @@ theorem wbtw_or_wbtw_smul_vadd_of_nonpos (x : P) (v : V) {r₁ r₂ : R} (hr₁
· exact Or.inl (wbtw_smul_vadd_smul_vadd_of_nonpos_of_le x v hr₁ h)
#align wbtw_or_wbtw_smul_vadd_of_nonpos wbtw_or_wbtw_smul_vadd_of_nonpos
-/- warning: wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg -> wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonnegₓ'. -/
theorem wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg (x : P) (v : V) {r₁ r₂ : R} (hr₁ : r₁ ≤ 0)
(hr₂ : 0 ≤ r₂) : Wbtw R (r₁ • v +ᵥ x) x (r₂ • v +ᵥ x) := by
convert wbtw_smul_vadd_smul_vadd_of_nonneg_of_le (r₁ • v +ᵥ x) v (Left.nonneg_neg_iff.2 hr₁)
@@ -1314,9 +843,6 @@ theorem wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg (x : P) (v : V) {r₁ r₂
simp [sub_smul, ← add_vadd]
#align wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg
-/- warning: wbtw_smul_vadd_smul_vadd_of_nonneg_of_nonpos -> wbtw_smul_vadd_smul_vadd_of_nonneg_of_nonpos is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align wbtw_smul_vadd_smul_vadd_of_nonneg_of_nonpos wbtw_smul_vadd_smul_vadd_of_nonneg_of_nonposₓ'. -/
theorem wbtw_smul_vadd_smul_vadd_of_nonneg_of_nonpos (x : P) (v : V) {r₁ r₂ : R} (hr₁ : 0 ≤ r₁)
(hr₂ : r₂ ≤ 0) : Wbtw R (r₁ • v +ᵥ x) x (r₂ • v +ᵥ x) :=
by
@@ -1324,12 +850,6 @@ theorem wbtw_smul_vadd_smul_vadd_of_nonneg_of_nonpos (x : P) (v : V) {r₁ r₂
exact wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg x v hr₂ hr₁
#align wbtw_smul_vadd_smul_vadd_of_nonneg_of_nonpos wbtw_smul_vadd_smul_vadd_of_nonneg_of_nonpos
-/- warning: wbtw.trans_left_right -> Wbtw.trans_left_right is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 w y z) -> (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 w x y) -> (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 w y z) -> (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 w x y) -> (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z)
-Case conversion may be inaccurate. Consider using '#align wbtw.trans_left_right Wbtw.trans_left_rightₓ'. -/
theorem Wbtw.trans_left_right {w x y z : P} (h₁ : Wbtw R w y z) (h₂ : Wbtw R w x y) :
Wbtw R x y z := by
rcases h₁ with ⟨t₁, ht₁, rfl⟩
@@ -1355,46 +875,22 @@ theorem Wbtw.trans_left_right {w x y z : P} (h₁ : Wbtw R w y z) (h₂ : Wbtw R
ring_nf
#align wbtw.trans_left_right Wbtw.trans_left_right
-/- warning: wbtw.trans_right_left -> Wbtw.trans_right_left is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 w x z) -> (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 w x y)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 w x z) -> (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 w x y)
-Case conversion may be inaccurate. Consider using '#align wbtw.trans_right_left Wbtw.trans_right_leftₓ'. -/
theorem Wbtw.trans_right_left {w x y z : P} (h₁ : Wbtw R w x z) (h₂ : Wbtw R x y z) :
Wbtw R w x y := by
rw [wbtw_comm] at *
exact h₁.trans_left_right h₂
#align wbtw.trans_right_left Wbtw.trans_right_left
-/- warning: sbtw.trans_left_right -> Sbtw.trans_left_right is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {w : P} {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 w y z) -> (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 w x y) -> (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {w : P} {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 w y z) -> (Sbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 w x y) -> (Sbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z)
-Case conversion may be inaccurate. Consider using '#align sbtw.trans_left_right Sbtw.trans_left_rightₓ'. -/
theorem Sbtw.trans_left_right {w x y z : P} (h₁ : Sbtw R w y z) (h₂ : Sbtw R w x y) :
Sbtw R x y z :=
⟨h₁.Wbtw.trans_left_right h₂.Wbtw, h₂.right_ne, h₁.ne_right⟩
#align sbtw.trans_left_right Sbtw.trans_left_right
-/- warning: sbtw.trans_right_left -> Sbtw.trans_right_left is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {w : P} {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 w x z) -> (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 w x y)
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {w : P} {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 w x z) -> (Sbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Sbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 w x y)
-Case conversion may be inaccurate. Consider using '#align sbtw.trans_right_left Sbtw.trans_right_leftₓ'. -/
theorem Sbtw.trans_right_left {w x y z : P} (h₁ : Sbtw R w x z) (h₂ : Sbtw R x y z) :
Sbtw R w x y :=
⟨h₁.Wbtw.trans_right_left h₂.Wbtw, h₁.ne_left, h₂.left_ne⟩
#align sbtw.trans_right_left Sbtw.trans_right_left
-/- warning: wbtw.collinear -> Wbtw.collinear is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Collinear.{u1, u2, u3} R V P (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 (Insert.insert.{u3, u3} P (Set.{u3} P) (Set.hasInsert.{u3} P) x (Insert.insert.{u3, u3} P (Set.{u3} P) (Set.hasInsert.{u3} P) y (Singleton.singleton.{u3, u3} P (Set.{u3} P) (Set.hasSingleton.{u3} P) z))))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Collinear.{u3, u2, u1} R V P (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 (Insert.insert.{u1, u1} P (Set.{u1} P) (Set.instInsertSet.{u1} P) x (Insert.insert.{u1, u1} P (Set.{u1} P) (Set.instInsertSet.{u1} P) y (Singleton.singleton.{u1, u1} P (Set.{u1} P) (Set.instSingletonSet.{u1} P) z))))
-Case conversion may be inaccurate. Consider using '#align wbtw.collinear Wbtw.collinearₓ'. -/
theorem Wbtw.collinear {x y z : P} (h : Wbtw R x y z) : Collinear R ({x, y, z} : Set P) :=
by
rw [collinear_iff_exists_forall_eq_smul_vadd]
@@ -1408,12 +904,6 @@ theorem Wbtw.collinear {x y z : P} (h : Wbtw R x y z) : Collinear R ({x, y, z} :
· refine' ⟨1, _⟩; simp
#align wbtw.collinear Wbtw.collinear
-/- warning: collinear.wbtw_or_wbtw_or_wbtw -> Collinear.wbtw_or_wbtw_or_wbtw is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Collinear.{u1, u2, u3} R V P (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 (Insert.insert.{u3, u3} P (Set.{u3} P) (Set.hasInsert.{u3} P) x (Insert.insert.{u3, u3} P (Set.{u3} P) (Set.hasInsert.{u3} P) y (Singleton.singleton.{u3, u3} P (Set.{u3} P) (Set.hasSingleton.{u3} P) z)))) -> (Or (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) (Or (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 y z x) (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 z x y)))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Collinear.{u3, u2, u1} R V P (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 (Insert.insert.{u1, u1} P (Set.{u1} P) (Set.instInsertSet.{u1} P) x (Insert.insert.{u1, u1} P (Set.{u1} P) (Set.instInsertSet.{u1} P) y (Singleton.singleton.{u1, u1} P (Set.{u1} P) (Set.instSingletonSet.{u1} P) z)))) -> (Or (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) (Or (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 y z x) (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 z x y)))
-Case conversion may be inaccurate. Consider using '#align collinear.wbtw_or_wbtw_or_wbtw Collinear.wbtw_or_wbtw_or_wbtwₓ'. -/
theorem Collinear.wbtw_or_wbtw_or_wbtw {x y z : P} (h : Collinear R ({x, y, z} : Set P)) :
Wbtw R x y z ∨ Wbtw R y z x ∨ Wbtw R z x y :=
by
@@ -1440,12 +930,6 @@ theorem Collinear.wbtw_or_wbtw_or_wbtw {x y z : P} (h : Collinear R ({x, y, z} :
exact Or.inl (wbtw_or_wbtw_smul_vadd_of_nonneg _ _ hy0.le hz0.le)
#align collinear.wbtw_or_wbtw_or_wbtw Collinear.wbtw_or_wbtw_or_wbtw
-/- warning: wbtw_iff_same_ray_vsub -> wbtw_iff_sameRay_vsub is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, Iff (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) (SameRay.{u1, u2} R (StrictOrderedCommRing.toStrictOrderedCommSemiring.{u1} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))) V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) y x) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) z y))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, Iff (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) (SameRay.{u3, u2} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))) V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) y x) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) z y))
-Case conversion may be inaccurate. Consider using '#align wbtw_iff_same_ray_vsub wbtw_iff_sameRay_vsubₓ'. -/
theorem wbtw_iff_sameRay_vsub {x y z : P} : Wbtw R x y z ↔ SameRay R (y -ᵥ x) (z -ᵥ y) :=
by
refine' ⟨Wbtw.sameRay_vsub, fun h => _⟩
@@ -1468,12 +952,6 @@ theorem wbtw_iff_sameRay_vsub {x y z : P} : Wbtw R x y z ↔ SameRay R (y -ᵥ x
variable (R)
-/- warning: wbtw_point_reflection -> wbtw_pointReflection is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 y x (coeFn.{max (succ u3) (succ u2), succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P -> P) (AffineEquiv.hasCoeToFun.{u1, u3, u3, u2, u2} R P P V V (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.pointReflection.{u1, u3, u2} R P V (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 x) y)
-but is expected to have type
- forall (R : Type.{u3}) {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 y x (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P) _x) (EmbeddingLike.toFunLike.{max (succ u1) (succ u2), succ u1, succ u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P P (EquivLike.toEmbeddingLike.{max (succ u1) (succ u2), succ u1, succ u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P P (AffineEquiv.equivLike.{u3, u1, u1, u2, u2} R P P V V (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u3, u1, u2} R P V (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 x) y)
-Case conversion may be inaccurate. Consider using '#align wbtw_point_reflection wbtw_pointReflectionₓ'. -/
theorem wbtw_pointReflection (x y : P) : Wbtw R y x (pointReflection R x y) :=
by
refine' ⟨2⁻¹, ⟨by norm_num, by norm_num⟩, _⟩
@@ -1481,9 +959,6 @@ theorem wbtw_pointReflection (x y : P) : Wbtw R y x (pointReflection R x y) :=
simp
#align wbtw_point_reflection wbtw_pointReflection
-/- warning: sbtw_point_reflection_of_ne -> sbtw_pointReflection_of_ne is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align sbtw_point_reflection_of_ne sbtw_pointReflection_of_neₓ'. -/
theorem sbtw_pointReflection_of_ne {x y : P} (h : x ≠ y) : Sbtw R y x (pointReflection R x y) :=
by
refine' ⟨wbtw_pointReflection _ _ _, h, _⟩
@@ -1491,22 +966,10 @@ theorem sbtw_pointReflection_of_ne {x y : P} (h : x ≠ y) : Sbtw R y x (pointRe
exact (point_reflection_involutive R x).Injective.Ne h
#align sbtw_point_reflection_of_ne sbtw_pointReflection_of_ne
-/- warning: wbtw_midpoint -> wbtw_midpoint is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (midpoint.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (invertibleTwo.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)) (StrictOrderedSemiring.to_charZero.{u1} R (StrictOrderedRing.toStrictOrderedSemiring.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4 x y) y
-but is expected to have type
- forall (R : Type.{u3}) {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (midpoint.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (invertibleTwo.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)) (StrictOrderedSemiring.to_charZero.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4 x y) y
-Case conversion may be inaccurate. Consider using '#align wbtw_midpoint wbtw_midpointₓ'. -/
theorem wbtw_midpoint (x y : P) : Wbtw R x (midpoint R x y) y := by
convert wbtw_pointReflection R (midpoint R x y) x; simp
#align wbtw_midpoint wbtw_midpoint
-/- warning: sbtw_midpoint_of_ne -> sbtw_midpoint_of_ne is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P}, (Ne.{succ u3} P x y) -> (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (midpoint.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (invertibleTwo.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)) (StrictOrderedSemiring.to_charZero.{u1} R (StrictOrderedRing.toStrictOrderedSemiring.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4 x y) y)
-but is expected to have type
- forall (R : Type.{u2}) {V : Type.{u1}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u2} R] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} R V (DivisionSemiring.toSemiring.{u2} R (Semifield.toDivisionSemiring.{u2} R (LinearOrderedSemifield.toSemifield.{u2} R (LinearOrderedField.toLinearOrderedSemifield.{u2} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] [_inst_4 : AddTorsor.{u1, u3} V P (AddCommGroup.toAddGroup.{u1} V _inst_2)] {x : P} {y : P}, (Ne.{succ u3} P x y) -> (Sbtw.{u2, u1, u3} R V P (OrderedCommRing.toOrderedRing.{u2} R (StrictOrderedCommRing.toOrderedCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R (LinearOrderedField.toLinearOrderedCommRing.{u2} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (midpoint.{u2, u1, u3} R V P (DivisionRing.toRing.{u2} R (Field.toDivisionRing.{u2} R (LinearOrderedField.toField.{u2} R _inst_1))) (invertibleTwo.{u2} R (Field.toDivisionRing.{u2} R (LinearOrderedField.toField.{u2} R _inst_1)) (StrictOrderedSemiring.to_charZero.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} R (LinearOrderedField.toLinearOrderedSemifield.{u2} R _inst_1)))))) _inst_2 _inst_3 _inst_4 x y) y)
-Case conversion may be inaccurate. Consider using '#align sbtw_midpoint_of_ne sbtw_midpoint_of_neₓ'. -/
theorem sbtw_midpoint_of_ne {x y : P} (h : x ≠ y) : Sbtw R x (midpoint R x y) y :=
by
have h : midpoint R x y ≠ x := by simp [h]
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -423,10 +423,8 @@ theorem Sbtw.mem_image_Ioo {x y z : P} (h : Sbtw R x y z) : y ∈ lineMap x z ''
by
rcases h with ⟨⟨t, ht, rfl⟩, hyx, hyz⟩
rcases Set.eq_endpoints_or_mem_Ioo_of_mem_Icc ht with (rfl | rfl | ho)
- · exfalso
- simpa using hyx
- · exfalso
- simpa using hyz
+ · exfalso; simpa using hyx
+ · exfalso; simpa using hyz
· exact ⟨t, ho, rfl⟩
#align sbtw.mem_image_Ioo Sbtw.mem_image_Ioo
@@ -1049,29 +1047,17 @@ theorem sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair [NoZeroSMulDivisors R V]
by
-- Should not be needed; see comments on local instances in `data.sign`.
letI : DecidableRel ((· < ·) : R → R → Prop) := LinearOrderedRing.decidableLt
- have h₁₃ : i₁ ≠ i₃ := by
- rintro rfl
- simpa using h₂
- have h₂₃ : i₂ ≠ i₃ := by
- rintro rfl
- simpa using h₁
- have h3 : ∀ i : Fin 3, i = i₁ ∨ i = i₂ ∨ i = i₃ :=
- by
- clear h₁ h₂ h₁' h₂'
- decide!
- have hu : (Finset.univ : Finset (Fin 3)) = {i₁, i₂, i₃} :=
- by
- clear h₁ h₂ h₁' h₂'
- decide!
+ have h₁₃ : i₁ ≠ i₃ := by rintro rfl; simpa using h₂
+ have h₂₃ : i₂ ≠ i₃ := by rintro rfl; simpa using h₁
+ have h3 : ∀ i : Fin 3, i = i₁ ∨ i = i₂ ∨ i = i₃ := by clear h₁ h₂ h₁' h₂'; decide!
+ have hu : (Finset.univ : Finset (Fin 3)) = {i₁, i₂, i₃} := by clear h₁ h₂ h₁' h₂'; decide!
have hp : p ∈ affineSpan R (Set.range t.points) :=
by
have hle : line[R, t.points i₁, p₁] ≤ affineSpan R (Set.range t.points) :=
by
refine' affineSpan_pair_le_of_mem_of_mem (mem_affineSpan _ (Set.mem_range_self _)) _
- have hle : line[R, t.points i₂, t.points i₃] ≤ affineSpan R (Set.range t.points) :=
- by
- refine' affineSpan_mono _ _
- simp [Set.insert_subset]
+ have hle : line[R, t.points i₂, t.points i₃] ≤ affineSpan R (Set.range t.points) := by
+ refine' affineSpan_mono _ _; simp [Set.insert_subset]
rw [AffineSubspace.le_def'] at hle
exact hle _ h₁.wbtw.mem_affine_span
rw [AffineSubspace.le_def'] at hle
@@ -1189,8 +1175,7 @@ theorem sbtw_iff_left_ne_and_right_mem_image_Ioi {x y z : P} :
rw [Set.mem_Ici] at hr
rcases hr.lt_or_eq with (hrlt | rfl)
· exact Set.mem_image_of_mem _ hrlt
- · exfalso
- simpa using h
+ · exfalso; simpa using h
· rcases h with ⟨hne, r, hr, rfl⟩
rw [Set.mem_Ioi] at hr
refine'
@@ -1417,12 +1402,10 @@ theorem Wbtw.collinear {x y z : P} (h : Wbtw R x y z) : Collinear R ({x, y, z} :
intro p hp
simp_rw [Set.mem_insert_iff, Set.mem_singleton_iff] at hp
rcases hp with (rfl | rfl | rfl)
- · refine' ⟨0, _⟩
- simp
+ · refine' ⟨0, _⟩; simp
· rcases h with ⟨t, -, rfl⟩
exact ⟨t, rfl⟩
- · refine' ⟨1, _⟩
- simp
+ · refine' ⟨1, _⟩; simp
#align wbtw.collinear Wbtw.collinear
/- warning: collinear.wbtw_or_wbtw_or_wbtw -> Collinear.wbtw_or_wbtw_or_wbtw is a dubious translation:
@@ -1467,10 +1450,8 @@ theorem wbtw_iff_sameRay_vsub {x y z : P} : Wbtw R x y z ↔ SameRay R (y -ᵥ x
by
refine' ⟨Wbtw.sameRay_vsub, fun h => _⟩
rcases h with (h | h | ⟨r₁, r₂, hr₁, hr₂, h⟩)
- · rw [vsub_eq_zero_iff_eq] at h
- simp [h]
- · rw [vsub_eq_zero_iff_eq] at h
- simp [h]
+ · rw [vsub_eq_zero_iff_eq] at h; simp [h]
+ · rw [vsub_eq_zero_iff_eq] at h; simp [h]
· refine'
⟨r₂ / (r₁ + r₂),
⟨div_nonneg hr₂.le (add_nonneg hr₁.le hr₂.le),
@@ -1516,10 +1497,8 @@ lean 3 declaration is
but is expected to have type
forall (R : Type.{u3}) {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (midpoint.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (invertibleTwo.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)) (StrictOrderedSemiring.to_charZero.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4 x y) y
Case conversion may be inaccurate. Consider using '#align wbtw_midpoint wbtw_midpointₓ'. -/
-theorem wbtw_midpoint (x y : P) : Wbtw R x (midpoint R x y) y :=
- by
- convert wbtw_pointReflection R (midpoint R x y) x
- simp
+theorem wbtw_midpoint (x y : P) : Wbtw R x (midpoint R x y) y := by
+ convert wbtw_pointReflection R (midpoint R x y) x; simp
#align wbtw_midpoint wbtw_midpoint
/- warning: sbtw_midpoint_of_ne -> sbtw_midpoint_of_ne is a dubious translation:
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -102,10 +102,7 @@ include V'
variable {R}
/- warning: affine_segment_image -> affineSegment_image is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {V' : Type.{u3}} {P : Type.{u4}} {P' : Type.{u5}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_5 : AddCommGroup.{u3} V'] [_inst_6 : Module.{u1, u3} R V' (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V' _inst_5)] [_inst_7 : AddTorsor.{u3, u5} V' P' (AddCommGroup.toAddGroup.{u3} V' _inst_5)] (f : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (x : P) (y : P), Eq.{succ u5} (Set.{u5} P') (Set.image.{u4, u5} P P' (coeFn.{max (succ u2) (succ u4) (succ u3) (succ u5), max (succ u4) (succ u5)} (AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineMap.hasCoeToFun.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f) (affineSegment.{u1, u2, u4} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y)) (affineSegment.{u1, u3, u5} R V' P' _inst_1 _inst_5 _inst_6 _inst_7 (coeFn.{max (succ u2) (succ u4) (succ u3) (succ u5), max (succ u4) (succ u5)} (AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineMap.hasCoeToFun.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f x) (coeFn.{max (succ u2) (succ u4) (succ u3) (succ u5), max (succ u4) (succ u5)} (AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineMap.hasCoeToFun.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f y))
-but is expected to have type
- forall {R : Type.{u5}} {V : Type.{u4}} {V' : Type.{u2}} {P : Type.{u3}} {P' : Type.{u1}} [_inst_1 : OrderedRing.{u5} R] [_inst_2 : AddCommGroup.{u4} V] [_inst_3 : Module.{u5, u4} R V (OrderedSemiring.toSemiring.{u5} R (OrderedRing.toOrderedSemiring.{u5} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} V _inst_2)] [_inst_4 : AddTorsor.{u4, u3} V P (AddCommGroup.toAddGroup.{u4} V _inst_2)] [_inst_5 : AddCommGroup.{u2} V'] [_inst_6 : Module.{u5, u2} R V' (OrderedSemiring.toSemiring.{u5} R (OrderedRing.toOrderedSemiring.{u5} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V' _inst_5)] [_inst_7 : AddTorsor.{u2, u1} V' P' (AddCommGroup.toAddGroup.{u2} V' _inst_5)] (f : AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (x : P) (y : P), Eq.{succ u1} (Set.{u1} P') (Set.image.{u3, u1} P P' (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f) (affineSegment.{u5, u4, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y)) (affineSegment.{u5, u2, u1} R V' ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') x) _inst_1 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f x) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f y))
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_segment_image affineSegment_imageₓ'. -/
@[simp]
theorem affineSegment_image (f : P →ᵃ[R] P') (x y : P) :
@@ -224,10 +221,7 @@ variable {R}
include V'
/- warning: wbtw.map -> Wbtw.map is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {V' : Type.{u3}} {P : Type.{u4}} {P' : Type.{u5}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_5 : AddCommGroup.{u3} V'] [_inst_6 : Module.{u1, u3} R V' (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V' _inst_5)] [_inst_7 : AddTorsor.{u3, u5} V' P' (AddCommGroup.toAddGroup.{u3} V' _inst_5)] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u4} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (forall (f : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Wbtw.{u1, u3, u5} R V' P' _inst_1 _inst_5 _inst_6 _inst_7 (coeFn.{max (succ u2) (succ u4) (succ u3) (succ u5), max (succ u4) (succ u5)} (AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineMap.hasCoeToFun.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f x) (coeFn.{max (succ u2) (succ u4) (succ u3) (succ u5), max (succ u4) (succ u5)} (AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineMap.hasCoeToFun.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f y) (coeFn.{max (succ u2) (succ u4) (succ u3) (succ u5), max (succ u4) (succ u5)} (AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineMap.hasCoeToFun.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f z))
-but is expected to have type
- forall {R : Type.{u5}} {V : Type.{u4}} {V' : Type.{u2}} {P : Type.{u3}} {P' : Type.{u1}} [_inst_1 : OrderedRing.{u5} R] [_inst_2 : AddCommGroup.{u4} V] [_inst_3 : Module.{u5, u4} R V (OrderedSemiring.toSemiring.{u5} R (OrderedRing.toOrderedSemiring.{u5} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} V _inst_2)] [_inst_4 : AddTorsor.{u4, u3} V P (AddCommGroup.toAddGroup.{u4} V _inst_2)] [_inst_5 : AddCommGroup.{u2} V'] [_inst_6 : Module.{u5, u2} R V' (OrderedSemiring.toSemiring.{u5} R (OrderedRing.toOrderedSemiring.{u5} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V' _inst_5)] [_inst_7 : AddTorsor.{u2, u1} V' P' (AddCommGroup.toAddGroup.{u2} V' _inst_5)] {x : P} {y : P} {z : P}, (Wbtw.{u5, u4, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (forall (f : AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Wbtw.{u5, u2, u1} R V' ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') x) _inst_1 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f x) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f y) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f z))
+<too large>
Case conversion may be inaccurate. Consider using '#align wbtw.map Wbtw.mapₓ'. -/
theorem Wbtw.map {x y z : P} (h : Wbtw R x y z) (f : P →ᵃ[R] P') : Wbtw R (f x) (f y) (f z) :=
by
@@ -236,10 +230,7 @@ theorem Wbtw.map {x y z : P} (h : Wbtw R x y z) (f : P →ᵃ[R] P') : Wbtw R (f
#align wbtw.map Wbtw.map
/- warning: function.injective.wbtw_map_iff -> Function.Injective.wbtw_map_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {V' : Type.{u3}} {P : Type.{u4}} {P' : Type.{u5}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_5 : AddCommGroup.{u3} V'] [_inst_6 : Module.{u1, u3} R V' (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V' _inst_5)] [_inst_7 : AddTorsor.{u3, u5} V' P' (AddCommGroup.toAddGroup.{u3} V' _inst_5)] {x : P} {y : P} {z : P} {f : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, (Function.Injective.{succ u4, succ u5} P P' (coeFn.{max (succ u2) (succ u4) (succ u3) (succ u5), max (succ u4) (succ u5)} (AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineMap.hasCoeToFun.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f)) -> (Iff (Wbtw.{u1, u3, u5} R V' P' _inst_1 _inst_5 _inst_6 _inst_7 (coeFn.{max (succ u2) (succ u4) (succ u3) (succ u5), max (succ u4) (succ u5)} (AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineMap.hasCoeToFun.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f x) (coeFn.{max (succ u2) (succ u4) (succ u3) (succ u5), max (succ u4) (succ u5)} (AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineMap.hasCoeToFun.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f y) (coeFn.{max (succ u2) (succ u4) (succ u3) (succ u5), max (succ u4) (succ u5)} (AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineMap.hasCoeToFun.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f z)) (Wbtw.{u1, u2, u4} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z))
-but is expected to have type
- forall {R : Type.{u5}} {V : Type.{u4}} {V' : Type.{u2}} {P : Type.{u3}} {P' : Type.{u1}} [_inst_1 : OrderedRing.{u5} R] [_inst_2 : AddCommGroup.{u4} V] [_inst_3 : Module.{u5, u4} R V (OrderedSemiring.toSemiring.{u5} R (OrderedRing.toOrderedSemiring.{u5} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} V _inst_2)] [_inst_4 : AddTorsor.{u4, u3} V P (AddCommGroup.toAddGroup.{u4} V _inst_2)] [_inst_5 : AddCommGroup.{u2} V'] [_inst_6 : Module.{u5, u2} R V' (OrderedSemiring.toSemiring.{u5} R (OrderedRing.toOrderedSemiring.{u5} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V' _inst_5)] [_inst_7 : AddTorsor.{u2, u1} V' P' (AddCommGroup.toAddGroup.{u2} V' _inst_5)] {x : P} {y : P} {z : P} {f : AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, (Function.Injective.{succ u3, succ u1} P P' (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f)) -> (Iff (Wbtw.{u5, u2, u1} R V' ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') x) _inst_1 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f x) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f y) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f z)) (Wbtw.{u5, u4, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z))
+<too large>
Case conversion may be inaccurate. Consider using '#align function.injective.wbtw_map_iff Function.Injective.wbtw_map_iffₓ'. -/
theorem Function.Injective.wbtw_map_iff {x y z : P} {f : P →ᵃ[R] P'} (hf : Function.Injective f) :
Wbtw R (f x) (f y) (f z) ↔ Wbtw R x y z :=
@@ -249,20 +240,14 @@ theorem Function.Injective.wbtw_map_iff {x y z : P} {f : P →ᵃ[R] P'} (hf : F
#align function.injective.wbtw_map_iff Function.Injective.wbtw_map_iff
/- warning: function.injective.sbtw_map_iff -> Function.Injective.sbtw_map_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {V' : Type.{u3}} {P : Type.{u4}} {P' : Type.{u5}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_5 : AddCommGroup.{u3} V'] [_inst_6 : Module.{u1, u3} R V' (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V' _inst_5)] [_inst_7 : AddTorsor.{u3, u5} V' P' (AddCommGroup.toAddGroup.{u3} V' _inst_5)] {x : P} {y : P} {z : P} {f : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, (Function.Injective.{succ u4, succ u5} P P' (coeFn.{max (succ u2) (succ u4) (succ u3) (succ u5), max (succ u4) (succ u5)} (AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineMap.hasCoeToFun.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f)) -> (Iff (Sbtw.{u1, u3, u5} R V' P' _inst_1 _inst_5 _inst_6 _inst_7 (coeFn.{max (succ u2) (succ u4) (succ u3) (succ u5), max (succ u4) (succ u5)} (AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineMap.hasCoeToFun.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f x) (coeFn.{max (succ u2) (succ u4) (succ u3) (succ u5), max (succ u4) (succ u5)} (AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineMap.hasCoeToFun.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f y) (coeFn.{max (succ u2) (succ u4) (succ u3) (succ u5), max (succ u4) (succ u5)} (AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineMap.hasCoeToFun.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f z)) (Sbtw.{u1, u2, u4} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z))
-but is expected to have type
- forall {R : Type.{u5}} {V : Type.{u4}} {V' : Type.{u2}} {P : Type.{u3}} {P' : Type.{u1}} [_inst_1 : OrderedRing.{u5} R] [_inst_2 : AddCommGroup.{u4} V] [_inst_3 : Module.{u5, u4} R V (OrderedSemiring.toSemiring.{u5} R (OrderedRing.toOrderedSemiring.{u5} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} V _inst_2)] [_inst_4 : AddTorsor.{u4, u3} V P (AddCommGroup.toAddGroup.{u4} V _inst_2)] [_inst_5 : AddCommGroup.{u2} V'] [_inst_6 : Module.{u5, u2} R V' (OrderedSemiring.toSemiring.{u5} R (OrderedRing.toOrderedSemiring.{u5} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V' _inst_5)] [_inst_7 : AddTorsor.{u2, u1} V' P' (AddCommGroup.toAddGroup.{u2} V' _inst_5)] {x : P} {y : P} {z : P} {f : AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, (Function.Injective.{succ u3, succ u1} P P' (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f)) -> (Iff (Sbtw.{u5, u2, u1} R V' ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') x) _inst_1 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f x) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f y) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f z)) (Sbtw.{u5, u4, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z))
+<too large>
Case conversion may be inaccurate. Consider using '#align function.injective.sbtw_map_iff Function.Injective.sbtw_map_iffₓ'. -/
theorem Function.Injective.sbtw_map_iff {x y z : P} {f : P →ᵃ[R] P'} (hf : Function.Injective f) :
Sbtw R (f x) (f y) (f z) ↔ Sbtw R x y z := by simp_rw [Sbtw, hf.wbtw_map_iff, hf.ne_iff]
#align function.injective.sbtw_map_iff Function.Injective.sbtw_map_iff
/- warning: affine_equiv.wbtw_map_iff -> AffineEquiv.wbtw_map_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {V' : Type.{u3}} {P : Type.{u4}} {P' : Type.{u5}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_5 : AddCommGroup.{u3} V'] [_inst_6 : Module.{u1, u3} R V' (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V' _inst_5)] [_inst_7 : AddTorsor.{u3, u5} V' P' (AddCommGroup.toAddGroup.{u3} V' _inst_5)] {x : P} {y : P} {z : P} (f : AffineEquiv.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Iff (Wbtw.{u1, u3, u5} R V' P' _inst_1 _inst_5 _inst_6 _inst_7 (coeFn.{max (succ u4) (succ u5) (succ u2) (succ u3), max (succ u4) (succ u5)} (AffineEquiv.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineEquiv.hasCoeToFun.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f x) (coeFn.{max (succ u4) (succ u5) (succ u2) (succ u3), max (succ u4) (succ u5)} (AffineEquiv.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineEquiv.hasCoeToFun.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f y) (coeFn.{max (succ u4) (succ u5) (succ u2) (succ u3), max (succ u4) (succ u5)} (AffineEquiv.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineEquiv.hasCoeToFun.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f z)) (Wbtw.{u1, u2, u4} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
-but is expected to have type
- forall {R : Type.{u5}} {V : Type.{u2}} {V' : Type.{u1}} {P : Type.{u4}} {P' : Type.{u3}} [_inst_1 : OrderedRing.{u5} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u5, u2} R V (OrderedSemiring.toSemiring.{u5} R (OrderedRing.toOrderedSemiring.{u5} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_5 : AddCommGroup.{u1} V'] [_inst_6 : Module.{u5, u1} R V' (OrderedSemiring.toSemiring.{u5} R (OrderedRing.toOrderedSemiring.{u5} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V' _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V' P' (AddCommGroup.toAddGroup.{u1} V' _inst_5)] {x : P} {y : P} {z : P} (f : AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Iff (Wbtw.{u5, u1, u3} R V' ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P') x) _inst_1 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P') _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P P' (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P P' (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f x) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P') _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P P' (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P P' (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f y) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P') _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P P' (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P P' (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f z)) (Wbtw.{u5, u2, u4} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.wbtw_map_iff AffineEquiv.wbtw_map_iffₓ'. -/
@[simp]
theorem AffineEquiv.wbtw_map_iff {x y z : P} (f : P ≃ᵃ[R] P') :
@@ -273,10 +258,7 @@ theorem AffineEquiv.wbtw_map_iff {x y z : P} (f : P ≃ᵃ[R] P') :
#align affine_equiv.wbtw_map_iff AffineEquiv.wbtw_map_iff
/- warning: affine_equiv.sbtw_map_iff -> AffineEquiv.sbtw_map_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {V' : Type.{u3}} {P : Type.{u4}} {P' : Type.{u5}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_5 : AddCommGroup.{u3} V'] [_inst_6 : Module.{u1, u3} R V' (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V' _inst_5)] [_inst_7 : AddTorsor.{u3, u5} V' P' (AddCommGroup.toAddGroup.{u3} V' _inst_5)] {x : P} {y : P} {z : P} (f : AffineEquiv.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Iff (Sbtw.{u1, u3, u5} R V' P' _inst_1 _inst_5 _inst_6 _inst_7 (coeFn.{max (succ u4) (succ u5) (succ u2) (succ u3), max (succ u4) (succ u5)} (AffineEquiv.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineEquiv.hasCoeToFun.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f x) (coeFn.{max (succ u4) (succ u5) (succ u2) (succ u3), max (succ u4) (succ u5)} (AffineEquiv.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineEquiv.hasCoeToFun.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f y) (coeFn.{max (succ u4) (succ u5) (succ u2) (succ u3), max (succ u4) (succ u5)} (AffineEquiv.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineEquiv.hasCoeToFun.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f z)) (Sbtw.{u1, u2, u4} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
-but is expected to have type
- forall {R : Type.{u5}} {V : Type.{u2}} {V' : Type.{u1}} {P : Type.{u4}} {P' : Type.{u3}} [_inst_1 : OrderedRing.{u5} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u5, u2} R V (OrderedSemiring.toSemiring.{u5} R (OrderedRing.toOrderedSemiring.{u5} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_5 : AddCommGroup.{u1} V'] [_inst_6 : Module.{u5, u1} R V' (OrderedSemiring.toSemiring.{u5} R (OrderedRing.toOrderedSemiring.{u5} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V' _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V' P' (AddCommGroup.toAddGroup.{u1} V' _inst_5)] {x : P} {y : P} {z : P} (f : AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Iff (Sbtw.{u5, u1, u3} R V' ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P') x) _inst_1 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P') _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P P' (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P P' (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f x) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P') _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P P' (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P P' (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f y) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P') _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P P' (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P P' (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f z)) (Sbtw.{u5, u2, u4} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
+<too large>
Case conversion may be inaccurate. Consider using '#align affine_equiv.sbtw_map_iff AffineEquiv.sbtw_map_iffₓ'. -/
@[simp]
theorem AffineEquiv.sbtw_map_iff {x y z : P} (f : P ≃ᵃ[R] P') :
@@ -435,10 +417,7 @@ theorem Sbtw.right_ne {x y z : P} (h : Sbtw R x y z) : z ≠ y :=
#align sbtw.right_ne Sbtw.right_ne
/- warning: sbtw.mem_image_Ioo -> Sbtw.mem_image_Ioo is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Membership.Mem.{u3, u3} P (Set.{u3} P) (Set.hasMem.{u3} P) y (Set.image.{u1, u3} R P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (OrderedRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (OrderedRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) _inst_2 _inst_3 _inst_4) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (OrderedRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 x z)) (Set.Ioo.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))))))))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Membership.mem.{u1, u1} P (Set.{u1} P) (Set.instMembershipSet.{u1} P) y (Set.image.{u3, u1} R P (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (OrderedRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (OrderedRing.toRing.{u3} R _inst_1)) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (OrderedRing.toRing.{u3} R _inst_1))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (OrderedRing.toRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (OrderedRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (OrderedRing.toRing.{u3} R _inst_1)) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (OrderedRing.toRing.{u3} R _inst_1))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (OrderedRing.toRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u3, u2, u1} R V P (OrderedRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 _inst_4 x z)) (Set.Ioo.{u3} R (PartialOrder.toPreorder.{u3} R (OrderedRing.toPartialOrder.{u3} R _inst_1)) (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align sbtw.mem_image_Ioo Sbtw.mem_image_Iooₓ'. -/
theorem Sbtw.mem_image_Ioo {x y z : P} (h : Sbtw R x y z) : y ∈ lineMap x z '' Set.Ioo (0 : R) 1 :=
by
@@ -599,10 +578,7 @@ theorem Sbtw.left_ne_right {x y z : P} (h : Sbtw R x y z) : x ≠ z :=
#align sbtw.left_ne_right Sbtw.left_ne_right
/- warning: sbtw_iff_mem_image_Ioo_and_ne -> sbtw_iff_mem_image_Ioo_and_ne is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {z : P}, Iff (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) (And (Membership.Mem.{u3, u3} P (Set.{u3} P) (Set.hasMem.{u3} P) y (Set.image.{u1, u3} R P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (OrderedRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (OrderedRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) _inst_2 _inst_3 _inst_4) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (OrderedRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 x z)) (Set.Ioo.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))))) (Ne.{succ u3} P x z))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {z : P}, Iff (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) (And (Membership.mem.{u1, u1} P (Set.{u1} P) (Set.instMembershipSet.{u1} P) y (Set.image.{u3, u1} R P (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (OrderedRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (OrderedRing.toRing.{u3} R _inst_1)) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (OrderedRing.toRing.{u3} R _inst_1))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (OrderedRing.toRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (OrderedRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (OrderedRing.toRing.{u3} R _inst_1)) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (OrderedRing.toRing.{u3} R _inst_1))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (OrderedRing.toRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u3, u2, u1} R V P (OrderedRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 _inst_4 x z)) (Set.Ioo.{u3} R (PartialOrder.toPreorder.{u3} R (OrderedRing.toPartialOrder.{u3} R _inst_1)) (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))))))) (Ne.{succ u1} P x z))
+<too large>
Case conversion may be inaccurate. Consider using '#align sbtw_iff_mem_image_Ioo_and_ne sbtw_iff_mem_image_Ioo_and_neₓ'. -/
theorem sbtw_iff_mem_image_Ioo_and_ne [NoZeroSMulDivisors R V] {x y z : P} :
Sbtw R x y z ↔ y ∈ lineMap x z '' Set.Ioo (0 : R) 1 ∧ x ≠ z :=
@@ -744,10 +720,7 @@ theorem Sbtw.not_rotate [NoZeroSMulDivisors R V] {x y z : P} (h : Sbtw R x y z)
#align sbtw.not_rotate Sbtw.not_rotate
/- warning: wbtw_line_map_iff -> wbtw_lineMap_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {r : R}, Iff (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (OrderedRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (OrderedRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) _inst_2 _inst_3 _inst_4) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (OrderedRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 x y) r) y) (Or (Eq.{succ u3} P x y) (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) r (Set.Icc.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))))))))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {r : R}, Iff (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (OrderedRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (OrderedRing.toRing.{u3} R _inst_1)) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (OrderedRing.toRing.{u3} R _inst_1))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (OrderedRing.toRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (OrderedRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (OrderedRing.toRing.{u3} R _inst_1)) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (OrderedRing.toRing.{u3} R _inst_1))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (OrderedRing.toRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u3, u2, u1} R V P (OrderedRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 _inst_4 x y) r) y) (Or (Eq.{succ u1} P x y) (Membership.mem.{u3, u3} R (Set.{u3} R) (Set.instMembershipSet.{u3} R) r (Set.Icc.{u3} R (PartialOrder.toPreorder.{u3} R (OrderedRing.toPartialOrder.{u3} R _inst_1)) (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align wbtw_line_map_iff wbtw_lineMap_iffₓ'. -/
@[simp]
theorem wbtw_lineMap_iff [NoZeroSMulDivisors R V] {x y : P} {r : R} :
@@ -758,10 +731,7 @@ theorem wbtw_lineMap_iff [NoZeroSMulDivisors R V] {x y : P} {r : R} :
#align wbtw_line_map_iff wbtw_lineMap_iff
/- warning: sbtw_line_map_iff -> sbtw_lineMap_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {r : R}, Iff (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (OrderedRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (OrderedRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) _inst_2 _inst_3 _inst_4) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (OrderedRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 x y) r) y) (And (Ne.{succ u3} P x y) (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) r (Set.Ioo.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))))))))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {r : R}, Iff (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (OrderedRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (OrderedRing.toRing.{u3} R _inst_1)) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (OrderedRing.toRing.{u3} R _inst_1))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (OrderedRing.toRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (OrderedRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (OrderedRing.toRing.{u3} R _inst_1)) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (OrderedRing.toRing.{u3} R _inst_1))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (OrderedRing.toRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u3, u2, u1} R V P (OrderedRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 _inst_4 x y) r) y) (And (Ne.{succ u1} P x y) (Membership.mem.{u3, u3} R (Set.{u3} R) (Set.instMembershipSet.{u3} R) r (Set.Ioo.{u3} R (PartialOrder.toPreorder.{u3} R (OrderedRing.toPartialOrder.{u3} R _inst_1)) (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align sbtw_line_map_iff sbtw_lineMap_iffₓ'. -/
@[simp]
theorem sbtw_lineMap_iff [NoZeroSMulDivisors R V] {x y : P} {r : R} :
@@ -975,10 +945,7 @@ theorem Sbtw.trans_wbtw_right_ne [NoZeroSMulDivisors R V] {w x y z : P} (h₁ :
#align sbtw.trans_wbtw_right_ne Sbtw.trans_wbtw_right_ne
/- warning: sbtw.affine_combination_of_mem_affine_span_pair -> Sbtw.affineCombination_of_mem_affineSpan_pair is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroDivisors.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))] [_inst_9 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {ι : Type.{u4}} {p : ι -> P}, (AffineIndependent.{u1, u2, u3, u4} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 ι p) -> (forall {w : ι -> R} {w₁ : ι -> R} {w₂ : ι -> R} {s : Finset.{u4} ι}, (Eq.{succ u1} R (Finset.sum.{u1, u4} R ι (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) s (fun (i : ι) => w i)) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) -> (Eq.{succ u1} R (Finset.sum.{u1, u4} R ι (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) s (fun (i : ι) => w₁ i)) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) -> (Eq.{succ u1} R (Finset.sum.{u1, u4} R ι (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) s (fun (i : ι) => w₂ i)) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) -> (Membership.Mem.{u3, u3} P (AffineSubspace.{u1, u2, u3} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4) (SetLike.hasMem.{u3, u3} (AffineSubspace.{u1, u2, u3} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4) P (AffineSubspace.setLike.{u1, u2, u3} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4)) (coeFn.{max (succ (max u4 u1)) (succ u2) (succ u3), max (succ (max u4 u1)) (succ u3)} (AffineMap.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) => (ι -> R) -> P) (AffineMap.hasCoeToFun.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (Finset.affineCombination.{u1, u2, u3, u4} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 ι s p) w) (affineSpan.{u1, u2, u3} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 (Insert.insert.{u3, u3} P (Set.{u3} P) (Set.hasInsert.{u3} P) (coeFn.{max (succ (max u4 u1)) (succ u2) (succ u3), max (succ (max u4 u1)) (succ u3)} (AffineMap.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) => (ι -> R) -> P) (AffineMap.hasCoeToFun.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (Finset.affineCombination.{u1, u2, u3, u4} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 ι s p) w₁) (Singleton.singleton.{u3, u3} P (Set.{u3} P) (Set.hasSingleton.{u3} P) (coeFn.{max (succ (max u4 u1)) (succ u2) (succ u3), max (succ (max u4 u1)) (succ u3)} (AffineMap.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) => (ι -> R) -> P) (AffineMap.hasCoeToFun.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (Finset.affineCombination.{u1, u2, u3, u4} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 ι s p) w₂))))) -> (forall {i : ι}, (Membership.Mem.{u4, u4} ι (Finset.{u4} ι) (Finset.hasMem.{u4} ι) i s) -> (Sbtw.{u1, u1, u1} R R R _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (w₁ i) (w i) (w₂ i)) -> (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 (coeFn.{max (succ (max u4 u1)) (succ u2) (succ u3), max (succ (max u4 u1)) (succ u3)} (AffineMap.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) => (ι -> R) -> P) (AffineMap.hasCoeToFun.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (Finset.affineCombination.{u1, u2, u3, u4} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 ι s p) w₁) (coeFn.{max (succ (max u4 u1)) (succ u2) (succ u3), max (succ (max u4 u1)) (succ u3)} (AffineMap.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) => (ι -> R) -> P) (AffineMap.hasCoeToFun.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (Finset.affineCombination.{u1, u2, u3, u4} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 ι s p) w) (coeFn.{max (succ (max u4 u1)) (succ u2) (succ u3), max (succ (max u4 u1)) (succ u3)} (AffineMap.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) => (ι -> R) -> P) (AffineMap.hasCoeToFun.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (Finset.affineCombination.{u1, u2, u3, u4} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 ι s p) w₂))))
-but is expected to have type
- forall {R : Type.{u4}} {V : Type.{u3}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u4} R] [_inst_2 : AddCommGroup.{u3} V] [_inst_3 : Module.{u4, u3} R V (OrderedSemiring.toSemiring.{u4} R (OrderedRing.toOrderedSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] [_inst_4 : AddTorsor.{u3, u1} V P (AddCommGroup.toAddGroup.{u3} V _inst_2)] [_inst_8 : NoZeroDivisors.{u4} R (NonUnitalNonAssocRing.toMul.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (OrderedRing.toRing.{u4} R _inst_1)))) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (OrderedSemiring.toSemiring.{u4} R (OrderedRing.toOrderedSemiring.{u4} R _inst_1))))] [_inst_9 : NoZeroSMulDivisors.{u4, u3} R V (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (OrderedSemiring.toSemiring.{u4} R (OrderedRing.toOrderedSemiring.{u4} R _inst_1)))) (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2))))) (SMulZeroClass.toSMul.{u4, u3} R V (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} R V (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (OrderedSemiring.toSemiring.{u4} R (OrderedRing.toOrderedSemiring.{u4} R _inst_1)))) (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R V (Semiring.toMonoidWithZero.{u4} R (OrderedSemiring.toSemiring.{u4} R (OrderedRing.toOrderedSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2))))) (Module.toMulActionWithZero.{u4, u3} R V (OrderedSemiring.toSemiring.{u4} R (OrderedRing.toOrderedSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3))))] {ι : Type.{u2}} {p : ι -> P}, (AffineIndependent.{u4, u3, u1, u2} R V P (OrderedRing.toRing.{u4} R _inst_1) _inst_2 _inst_3 _inst_4 ι p) -> (forall {w : ι -> R} {w₁ : ι -> R} {w₂ : ι -> R} {s : Finset.{u2} ι}, (Eq.{succ u4} R (Finset.sum.{u4, u2} R ι (OrderedCancelAddCommMonoid.toAddCommMonoid.{u4} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u4} R (OrderedRing.toOrderedAddCommGroup.{u4} R _inst_1))) s (fun (i : ι) => w i)) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (OrderedSemiring.toSemiring.{u4} R (OrderedRing.toOrderedSemiring.{u4} R _inst_1)))))) -> (Eq.{succ u4} R (Finset.sum.{u4, u2} R ι (OrderedCancelAddCommMonoid.toAddCommMonoid.{u4} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u4} R (OrderedRing.toOrderedAddCommGroup.{u4} R _inst_1))) s (fun (i : ι) => w₁ i)) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (OrderedSemiring.toSemiring.{u4} R (OrderedRing.toOrderedSemiring.{u4} R _inst_1)))))) -> (Eq.{succ u4} R (Finset.sum.{u4, u2} R ι (OrderedCancelAddCommMonoid.toAddCommMonoid.{u4} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u4} R (OrderedRing.toOrderedAddCommGroup.{u4} R _inst_1))) s (fun (i : ι) => w₂ i)) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (OrderedSemiring.toSemiring.{u4} R (OrderedRing.toOrderedSemiring.{u4} R _inst_1)))))) -> (Membership.mem.{u1, u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) w) (AffineSubspace.{u4, u3, u1} R V ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) w₂) (OrderedRing.toRing.{u4} R _inst_1) _inst_2 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (AffineSubspace.{u4, u3, u1} R V ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) w₂) (OrderedRing.toRing.{u4} R _inst_1) _inst_2 _inst_3 _inst_4) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) w₂) (AffineSubspace.instSetLikeAffineSubspace.{u4, u3, u1} R V ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) w₂) (OrderedRing.toRing.{u4} R _inst_1) _inst_2 _inst_3 _inst_4)) (FunLike.coe.{max (max (succ (max u4 u2)) (succ u3)) (succ u1), succ (max u4 u2), succ u1} (AffineMap.{u4, max u4 u2, max u4 u2, u3, u1} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u4} R _inst_1) (Pi.addCommGroup.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u4} R (OrderedRing.toRing.{u4} R _inst_1))) (Pi.module.{u2, u4, u4} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => R) R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (OrderedRing.toRing.{u4} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u4, u2} R (OrderedRing.toRing.{u4} R _inst_1) ι) _inst_2 _inst_3 _inst_4) (ι -> R) (fun (_x : ι -> R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) _x) (AffineMap.funLike.{u4, max u4 u2, max u4 u2, u3, u1} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u4} R _inst_1) (Pi.addCommGroup.{u2, u4} ι (fun (i : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u4} R (OrderedRing.toRing.{u4} R _inst_1))) (Pi.module.{u2, u4, u4} ι (fun (i : ι) => R) R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (OrderedRing.toRing.{u4} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u4, u2} R (OrderedRing.toRing.{u4} R _inst_1) ι) _inst_2 _inst_3 _inst_4) (Finset.affineCombination.{u4, u3, u1, u2} R V P (OrderedRing.toRing.{u4} R _inst_1) _inst_2 _inst_3 _inst_4 ι s p) w) (affineSpan.{u4, u3, u1} R V ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) w₂) (OrderedRing.toRing.{u4} R _inst_1) _inst_2 _inst_3 _inst_4 (Insert.insert.{u1, u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) w₁) (Set.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) w₂)) (Set.instInsertSet.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) w₂)) (FunLike.coe.{max (max (succ (max u4 u2)) (succ u3)) (succ u1), succ (max u4 u2), succ u1} (AffineMap.{u4, max u4 u2, max u4 u2, u3, u1} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u4} R _inst_1) (Pi.addCommGroup.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u4} R (OrderedRing.toRing.{u4} R _inst_1))) (Pi.module.{u2, u4, u4} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => R) R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (OrderedRing.toRing.{u4} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u4, u2} R (OrderedRing.toRing.{u4} R _inst_1) ι) _inst_2 _inst_3 _inst_4) (ι -> R) (fun (_x : ι -> R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) _x) (AffineMap.funLike.{u4, max u4 u2, max u4 u2, u3, u1} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u4} R _inst_1) (Pi.addCommGroup.{u2, u4} ι (fun (i : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u4} R (OrderedRing.toRing.{u4} R _inst_1))) (Pi.module.{u2, u4, u4} ι (fun (i : ι) => R) R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (OrderedRing.toRing.{u4} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u4, u2} R (OrderedRing.toRing.{u4} R _inst_1) ι) _inst_2 _inst_3 _inst_4) (Finset.affineCombination.{u4, u3, u1, u2} R V P (OrderedRing.toRing.{u4} R _inst_1) _inst_2 _inst_3 _inst_4 ι s p) w₁) (Singleton.singleton.{u1, u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) w₂) (Set.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) w₂)) (Set.instSingletonSet.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) w₂)) (FunLike.coe.{max (max (succ (max u4 u2)) (succ u3)) (succ u1), succ (max u4 u2), succ u1} (AffineMap.{u4, max u4 u2, max u4 u2, u3, u1} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u4} R _inst_1) (Pi.addCommGroup.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u4} R (OrderedRing.toRing.{u4} R _inst_1))) (Pi.module.{u2, u4, u4} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => R) R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (OrderedRing.toRing.{u4} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u4, u2} R (OrderedRing.toRing.{u4} R _inst_1) ι) _inst_2 _inst_3 _inst_4) (ι -> R) (fun (_x : ι -> R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) _x) (AffineMap.funLike.{u4, max u4 u2, max u4 u2, u3, u1} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u4} R _inst_1) (Pi.addCommGroup.{u2, u4} ι (fun (i : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u4} R (OrderedRing.toRing.{u4} R _inst_1))) (Pi.module.{u2, u4, u4} ι (fun (i : ι) => R) R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (OrderedRing.toRing.{u4} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u4, u2} R (OrderedRing.toRing.{u4} R _inst_1) ι) _inst_2 _inst_3 _inst_4) (Finset.affineCombination.{u4, u3, u1, u2} R V P (OrderedRing.toRing.{u4} R _inst_1) _inst_2 _inst_3 _inst_4 ι s p) w₂))))) -> (forall {i : ι}, (Membership.mem.{u2, u2} ι (Finset.{u2} ι) (Finset.instMembershipFinset.{u2} ι) i s) -> (Sbtw.{u4, u4, u4} R R R _inst_1 (OrderedAddCommGroup.toAddCommGroup.{u4} R (OrderedRing.toOrderedAddCommGroup.{u4} R _inst_1)) (Semiring.toModule.{u4} R (OrderedSemiring.toSemiring.{u4} R (OrderedRing.toOrderedSemiring.{u4} R _inst_1))) (addGroupIsAddTorsor.{u4} R (AddGroupWithOne.toAddGroup.{u4} R (Ring.toAddGroupWithOne.{u4} R (OrderedRing.toRing.{u4} R _inst_1)))) (w₁ i) (w i) (w₂ i)) -> (Sbtw.{u4, u3, u1} R V ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) w₁) _inst_1 _inst_2 _inst_3 _inst_4 (FunLike.coe.{max (max (succ (max u4 u2)) (succ u3)) (succ u1), succ (max u4 u2), succ u1} (AffineMap.{u4, max u4 u2, max u4 u2, u3, u1} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u4} R _inst_1) (Pi.addCommGroup.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u4} R (OrderedRing.toRing.{u4} R _inst_1))) (Pi.module.{u2, u4, u4} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => R) R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (OrderedRing.toRing.{u4} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u4, u2} R (OrderedRing.toRing.{u4} R _inst_1) ι) _inst_2 _inst_3 _inst_4) (ι -> R) (fun (_x : ι -> R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) _x) (AffineMap.funLike.{u4, max u4 u2, max u4 u2, u3, u1} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u4} R _inst_1) (Pi.addCommGroup.{u2, u4} ι (fun (i : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u4} R (OrderedRing.toRing.{u4} R _inst_1))) (Pi.module.{u2, u4, u4} ι (fun (i : ι) => R) R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (OrderedRing.toRing.{u4} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u4, u2} R (OrderedRing.toRing.{u4} R _inst_1) ι) _inst_2 _inst_3 _inst_4) (Finset.affineCombination.{u4, u3, u1, u2} R V P (OrderedRing.toRing.{u4} R _inst_1) _inst_2 _inst_3 _inst_4 ι s p) w₁) (FunLike.coe.{max (max (succ (max u4 u2)) (succ u3)) (succ u1), succ (max u4 u2), succ u1} (AffineMap.{u4, max u4 u2, max u4 u2, u3, u1} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u4} R _inst_1) (Pi.addCommGroup.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u4} R (OrderedRing.toRing.{u4} R _inst_1))) (Pi.module.{u2, u4, u4} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => R) R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (OrderedRing.toRing.{u4} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u4, u2} R (OrderedRing.toRing.{u4} R _inst_1) ι) _inst_2 _inst_3 _inst_4) (ι -> R) (fun (_x : ι -> R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) _x) (AffineMap.funLike.{u4, max u4 u2, max u4 u2, u3, u1} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u4} R _inst_1) (Pi.addCommGroup.{u2, u4} ι (fun (i : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u4} R (OrderedRing.toRing.{u4} R _inst_1))) (Pi.module.{u2, u4, u4} ι (fun (i : ι) => R) R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (OrderedRing.toRing.{u4} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u4, u2} R (OrderedRing.toRing.{u4} R _inst_1) ι) _inst_2 _inst_3 _inst_4) (Finset.affineCombination.{u4, u3, u1, u2} R V P (OrderedRing.toRing.{u4} R _inst_1) _inst_2 _inst_3 _inst_4 ι s p) w) (FunLike.coe.{max (max (succ (max u4 u2)) (succ u3)) (succ u1), succ (max u4 u2), succ u1} (AffineMap.{u4, max u4 u2, max u4 u2, u3, u1} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u4} R _inst_1) (Pi.addCommGroup.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u4} R (OrderedRing.toRing.{u4} R _inst_1))) (Pi.module.{u2, u4, u4} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => R) R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (OrderedRing.toRing.{u4} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u4, u2} R (OrderedRing.toRing.{u4} R _inst_1) ι) _inst_2 _inst_3 _inst_4) (ι -> R) (fun (_x : ι -> R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) _x) (AffineMap.funLike.{u4, max u4 u2, max u4 u2, u3, u1} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u4} R _inst_1) (Pi.addCommGroup.{u2, u4} ι (fun (i : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u4} R (OrderedRing.toRing.{u4} R _inst_1))) (Pi.module.{u2, u4, u4} ι (fun (i : ι) => R) R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (OrderedRing.toRing.{u4} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u4, u2} R (OrderedRing.toRing.{u4} R _inst_1) ι) _inst_2 _inst_3 _inst_4) (Finset.affineCombination.{u4, u3, u1, u2} R V P (OrderedRing.toRing.{u4} R _inst_1) _inst_2 _inst_3 _inst_4 ι s p) w₂))))
+<too large>
Case conversion may be inaccurate. Consider using '#align sbtw.affine_combination_of_mem_affine_span_pair Sbtw.affineCombination_of_mem_affineSpan_pairₓ'. -/
theorem Sbtw.affineCombination_of_mem_affineSpan_pair [NoZeroDivisors R] [NoZeroSMulDivisors R V]
{ι : Type _} {p : ι → P} (ha : AffineIndependent R p) {w w₁ w₂ : ι → R} {s : Finset ι}
@@ -1069,10 +1036,7 @@ include V
variable {R}
/- warning: sbtw_of_sbtw_of_sbtw_of_mem_affine_span_pair -> sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_5 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {t : Affine.Triangle.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4} {i₁ : Fin (OfNat.ofNat.{0} Nat 3 (OfNat.mk.{0} Nat 3 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))} {i₂ : Fin (OfNat.ofNat.{0} Nat 3 (OfNat.mk.{0} Nat 3 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))} {i₃ : Fin (OfNat.ofNat.{0} Nat 3 (OfNat.mk.{0} Nat 3 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))}, (Ne.{1} (Fin (OfNat.ofNat.{0} Nat 3 (OfNat.mk.{0} Nat 3 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) i₁ i₂) -> (forall {p₁ : P} {p₂ : P} {p : P}, (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 (Affine.Simplex.points.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) t i₂) p₁ (Affine.Simplex.points.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) t i₃)) -> (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 (Affine.Simplex.points.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) t i₁) p₂ (Affine.Simplex.points.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) t i₃)) -> (Membership.Mem.{u3, u3} P (AffineSubspace.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4) (SetLike.hasMem.{u3, u3} (AffineSubspace.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4) P (AffineSubspace.setLike.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4)) p (affineSpan.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 (Insert.insert.{u3, u3} P (Set.{u3} P) (Set.hasInsert.{u3} P) (Affine.Simplex.points.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) t i₁) (Singleton.singleton.{u3, u3} P (Set.{u3} P) (Set.hasSingleton.{u3} P) p₁)))) -> (Membership.Mem.{u3, u3} P (AffineSubspace.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4) (SetLike.hasMem.{u3, u3} (AffineSubspace.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4) P (AffineSubspace.setLike.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4)) p (affineSpan.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 (Insert.insert.{u3, u3} P (Set.{u3} P) (Set.hasInsert.{u3} P) (Affine.Simplex.points.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) t i₂) (Singleton.singleton.{u3, u3} P (Set.{u3} P) (Set.hasSingleton.{u3} P) p₂)))) -> (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 (Affine.Simplex.points.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) t i₁) p p₁))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedRing.toLinearOrderedSemiring.{u3} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_5 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedRing.toLinearOrderedSemiring.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedRing.toLinearOrderedSemiring.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedRing.toLinearOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedRing.toLinearOrderedSemiring.{u3} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {t : Affine.Triangle.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4} {i₁ : Fin (OfNat.ofNat.{0} Nat 3 (instOfNatNat 3))} {i₂ : Fin (OfNat.ofNat.{0} Nat 3 (instOfNatNat 3))} {i₃ : Fin (OfNat.ofNat.{0} Nat 3 (instOfNatNat 3))}, (Ne.{1} (Fin (OfNat.ofNat.{0} Nat 3 (instOfNatNat 3))) i₁ i₂) -> (forall {p₁ : P} {p₂ : P} {p : P}, (Sbtw.{u3, u2, u1} R V P (StrictOrderedRing.toOrderedRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 (Affine.Simplex.points.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)) t i₂) p₁ (Affine.Simplex.points.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)) t i₃)) -> (Sbtw.{u3, u2, u1} R V P (StrictOrderedRing.toOrderedRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 (Affine.Simplex.points.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)) t i₁) p₂ (Affine.Simplex.points.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)) t i₃)) -> (Membership.mem.{u1, u1} P (AffineSubspace.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (AffineSubspace.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4) P (AffineSubspace.instSetLikeAffineSubspace.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4)) p (affineSpan.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 (Insert.insert.{u1, u1} P (Set.{u1} P) (Set.instInsertSet.{u1} P) (Affine.Simplex.points.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)) t i₁) (Singleton.singleton.{u1, u1} P (Set.{u1} P) (Set.instSingletonSet.{u1} P) p₁)))) -> (Membership.mem.{u1, u1} P (AffineSubspace.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (AffineSubspace.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4) P (AffineSubspace.instSetLikeAffineSubspace.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4)) p (affineSpan.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 (Insert.insert.{u1, u1} P (Set.{u1} P) (Set.instInsertSet.{u1} P) (Affine.Simplex.points.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)) t i₂) (Singleton.singleton.{u1, u1} P (Set.{u1} P) (Set.instSingletonSet.{u1} P) p₂)))) -> (Sbtw.{u3, u2, u1} R V P (StrictOrderedRing.toOrderedRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 (Affine.Simplex.points.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)) t i₁) p p₁))
+<too large>
Case conversion may be inaccurate. Consider using '#align sbtw_of_sbtw_of_sbtw_of_mem_affine_span_pair sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pairₓ'. -/
/-- Suppose lines from two vertices of a triangle to interior points of the opposite side meet at
`p`. Then `p` lies in the interior of the first (and by symmetry the other) segment from a
@@ -1172,10 +1136,7 @@ include V
variable {R}
/- warning: wbtw_iff_left_eq_or_right_mem_image_Ici -> wbtw_iff_left_eq_or_right_mem_image_Ici is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, Iff (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) (Or (Eq.{succ u3} P x y) (Membership.Mem.{u3, u3} P (Set.{u3} P) (Set.hasMem.{u3} P) z (Set.image.{u1, u3} R P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 x y)) (Set.Ici.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))))))))))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, Iff (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) (Or (Eq.{succ u1} P x y) (Membership.mem.{u1, u1} P (Set.{u1} P) (Set.instMembershipSet.{u1} P) z (Set.image.{u3, u1} R P (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 x y)) (Set.Ici.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1))))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))))))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align wbtw_iff_left_eq_or_right_mem_image_Ici wbtw_iff_left_eq_or_right_mem_image_Iciₓ'. -/
theorem wbtw_iff_left_eq_or_right_mem_image_Ici {x y z : P} :
Wbtw R x y z ↔ x = y ∨ z ∈ lineMap x y '' Set.Ici (1 : R) :=
@@ -1197,10 +1158,7 @@ theorem wbtw_iff_left_eq_or_right_mem_image_Ici {x y z : P} :
#align wbtw_iff_left_eq_or_right_mem_image_Ici wbtw_iff_left_eq_or_right_mem_image_Ici
/- warning: wbtw.right_mem_image_Ici_of_left_ne -> Wbtw.right_mem_image_Ici_of_left_ne is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u3} P x y) -> (Membership.Mem.{u3, u3} P (Set.{u3} P) (Set.hasMem.{u3} P) z (Set.image.{u1, u3} R P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 x y)) (Set.Ici.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))))))))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u1} P x y) -> (Membership.mem.{u1, u1} P (Set.{u1} P) (Set.instMembershipSet.{u1} P) z (Set.image.{u3, u1} R P (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 x y)) (Set.Ici.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1))))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align wbtw.right_mem_image_Ici_of_left_ne Wbtw.right_mem_image_Ici_of_left_neₓ'. -/
theorem Wbtw.right_mem_image_Ici_of_left_ne {x y z : P} (h : Wbtw R x y z) (hne : x ≠ y) :
z ∈ lineMap x y '' Set.Ici (1 : R) :=
@@ -1221,10 +1179,7 @@ theorem Wbtw.right_mem_affineSpan_of_left_ne {x y z : P} (h : Wbtw R x y z) (hne
#align wbtw.right_mem_affine_span_of_left_ne Wbtw.right_mem_affineSpan_of_left_ne
/- warning: sbtw_iff_left_ne_and_right_mem_image_IoI -> sbtw_iff_left_ne_and_right_mem_image_Ioi is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, Iff (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) (And (Ne.{succ u3} P x y) (Membership.Mem.{u3, u3} P (Set.{u3} P) (Set.hasMem.{u3} P) z (Set.image.{u1, u3} R P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 x y)) (Set.Ioi.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))))))))))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, Iff (Sbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) (And (Ne.{succ u1} P x y) (Membership.mem.{u1, u1} P (Set.{u1} P) (Set.instMembershipSet.{u1} P) z (Set.image.{u3, u1} R P (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 x y)) (Set.Ioi.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1))))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))))))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align sbtw_iff_left_ne_and_right_mem_image_IoI sbtw_iff_left_ne_and_right_mem_image_Ioiₓ'. -/
theorem sbtw_iff_left_ne_and_right_mem_image_Ioi {x y z : P} :
Sbtw R x y z ↔ x ≠ y ∧ z ∈ lineMap x y '' Set.Ioi (1 : R) :=
@@ -1249,10 +1204,7 @@ theorem sbtw_iff_left_ne_and_right_mem_image_Ioi {x y z : P} :
#align sbtw_iff_left_ne_and_right_mem_image_IoI sbtw_iff_left_ne_and_right_mem_image_Ioi
/- warning: sbtw.right_mem_image_Ioi -> Sbtw.right_mem_image_Ioi is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Membership.Mem.{u3, u3} P (Set.{u3} P) (Set.hasMem.{u3} P) z (Set.image.{u1, u3} R P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 x y)) (Set.Ioi.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))))))))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Membership.mem.{u1, u1} P (Set.{u1} P) (Set.instMembershipSet.{u1} P) z (Set.image.{u3, u1} R P (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 x y)) (Set.Ioi.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1))))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align sbtw.right_mem_image_Ioi Sbtw.right_mem_image_Ioiₓ'. -/
theorem Sbtw.right_mem_image_Ioi {x y z : P} (h : Sbtw R x y z) :
z ∈ lineMap x y '' Set.Ioi (1 : R) :=
@@ -1270,10 +1222,7 @@ theorem Sbtw.right_mem_affineSpan {x y z : P} (h : Sbtw R x y z) : z ∈ line[R,
#align sbtw.right_mem_affine_span Sbtw.right_mem_affineSpan
/- warning: wbtw_iff_right_eq_or_left_mem_image_Ici -> wbtw_iff_right_eq_or_left_mem_image_Ici is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, Iff (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) (Or (Eq.{succ u3} P z y) (Membership.Mem.{u3, u3} P (Set.{u3} P) (Set.hasMem.{u3} P) x (Set.image.{u1, u3} R P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 z y)) (Set.Ici.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))))))))))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, Iff (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) (Or (Eq.{succ u1} P z y) (Membership.mem.{u1, u1} P (Set.{u1} P) (Set.instMembershipSet.{u1} P) x (Set.image.{u3, u1} R P (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 z y)) (Set.Ici.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1))))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))))))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align wbtw_iff_right_eq_or_left_mem_image_Ici wbtw_iff_right_eq_or_left_mem_image_Iciₓ'. -/
theorem wbtw_iff_right_eq_or_left_mem_image_Ici {x y z : P} :
Wbtw R x y z ↔ z = y ∨ x ∈ lineMap z y '' Set.Ici (1 : R) := by
@@ -1281,10 +1230,7 @@ theorem wbtw_iff_right_eq_or_left_mem_image_Ici {x y z : P} :
#align wbtw_iff_right_eq_or_left_mem_image_Ici wbtw_iff_right_eq_or_left_mem_image_Ici
/- warning: wbtw.left_mem_image_Ici_of_right_ne -> Wbtw.left_mem_image_Ici_of_right_ne is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u3} P z y) -> (Membership.Mem.{u3, u3} P (Set.{u3} P) (Set.hasMem.{u3} P) x (Set.image.{u1, u3} R P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 z y)) (Set.Ici.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))))))))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u1} P z y) -> (Membership.mem.{u1, u1} P (Set.{u1} P) (Set.instMembershipSet.{u1} P) x (Set.image.{u3, u1} R P (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 z y)) (Set.Ici.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1))))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align wbtw.left_mem_image_Ici_of_right_ne Wbtw.left_mem_image_Ici_of_right_neₓ'. -/
theorem Wbtw.left_mem_image_Ici_of_right_ne {x y z : P} (h : Wbtw R x y z) (hne : z ≠ y) :
x ∈ lineMap z y '' Set.Ici (1 : R) :=
@@ -1303,10 +1249,7 @@ theorem Wbtw.left_mem_affineSpan_of_right_ne {x y z : P} (h : Wbtw R x y z) (hne
#align wbtw.left_mem_affine_span_of_right_ne Wbtw.left_mem_affineSpan_of_right_ne
/- warning: sbtw_iff_right_ne_and_left_mem_image_IoI -> sbtw_iff_right_ne_and_left_mem_image_Ioi is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, Iff (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) (And (Ne.{succ u3} P z y) (Membership.Mem.{u3, u3} P (Set.{u3} P) (Set.hasMem.{u3} P) x (Set.image.{u1, u3} R P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 z y)) (Set.Ioi.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))))))))))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, Iff (Sbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) (And (Ne.{succ u1} P z y) (Membership.mem.{u1, u1} P (Set.{u1} P) (Set.instMembershipSet.{u1} P) x (Set.image.{u3, u1} R P (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 z y)) (Set.Ioi.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1))))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))))))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align sbtw_iff_right_ne_and_left_mem_image_IoI sbtw_iff_right_ne_and_left_mem_image_Ioiₓ'. -/
theorem sbtw_iff_right_ne_and_left_mem_image_Ioi {x y z : P} :
Sbtw R x y z ↔ z ≠ y ∧ x ∈ lineMap z y '' Set.Ioi (1 : R) := by
@@ -1314,10 +1257,7 @@ theorem sbtw_iff_right_ne_and_left_mem_image_Ioi {x y z : P} :
#align sbtw_iff_right_ne_and_left_mem_image_IoI sbtw_iff_right_ne_and_left_mem_image_Ioi
/- warning: sbtw.left_mem_image_Ioi -> Sbtw.left_mem_image_Ioi is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Membership.Mem.{u3, u3} P (Set.{u3} P) (Set.hasMem.{u3} P) x (Set.image.{u1, u3} R P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 z y)) (Set.Ioi.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))))))))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Membership.mem.{u1, u1} P (Set.{u1} P) (Set.instMembershipSet.{u1} P) x (Set.image.{u3, u1} R P (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 z y)) (Set.Ioi.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1))))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align sbtw.left_mem_image_Ioi Sbtw.left_mem_image_Ioiₓ'. -/
theorem Sbtw.left_mem_image_Ioi {x y z : P} (h : Sbtw R x y z) :
x ∈ lineMap z y '' Set.Ioi (1 : R) :=
@@ -1335,10 +1275,7 @@ theorem Sbtw.left_mem_affineSpan {x y z : P} (h : Sbtw R x y z) : x ∈ line[R,
#align sbtw.left_mem_affine_span Sbtw.left_mem_affineSpan
/- warning: wbtw_smul_vadd_smul_vadd_of_nonneg_of_le -> wbtw_smul_vadd_smul_vadd_of_nonneg_of_le is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (v : V) {r₁ : R} {r₂ : R}, (LE.le.{u1} R (Preorder.toHasLe.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))))))) r₁) -> (LE.le.{u1} R (Preorder.toHasLe.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))) r₁ r₂) -> (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₁ v) x) (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₂ v) x))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (v : V) {r₁ : R} {r₂ : R}, (LE.le.{u3} R (Preorder.toLE.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))))) (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))))) r₁) -> (LE.le.{u3} R (Preorder.toLE.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))))) r₁ r₂) -> (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₁ v) x) (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₂ v) x))
+<too large>
Case conversion may be inaccurate. Consider using '#align wbtw_smul_vadd_smul_vadd_of_nonneg_of_le wbtw_smul_vadd_smul_vadd_of_nonneg_of_leₓ'. -/
theorem wbtw_smul_vadd_smul_vadd_of_nonneg_of_le (x : P) (v : V) {r₁ r₂ : R} (hr₁ : 0 ≤ r₁)
(hr₂ : r₁ ≤ r₂) : Wbtw R x (r₁ • v +ᵥ x) (r₂ • v +ᵥ x) :=
@@ -1349,10 +1286,7 @@ theorem wbtw_smul_vadd_smul_vadd_of_nonneg_of_le (x : P) (v : V) {r₁ r₂ : R}
#align wbtw_smul_vadd_smul_vadd_of_nonneg_of_le wbtw_smul_vadd_smul_vadd_of_nonneg_of_le
/- warning: wbtw_or_wbtw_smul_vadd_of_nonneg -> wbtw_or_wbtw_smul_vadd_of_nonneg is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (v : V) {r₁ : R} {r₂ : R}, (LE.le.{u1} R (Preorder.toHasLe.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))))))) r₁) -> (LE.le.{u1} R (Preorder.toHasLe.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))))))) r₂) -> (Or (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₁ v) x) (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₂ v) x)) (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₂ v) x) (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₁ v) x)))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (v : V) {r₁ : R} {r₂ : R}, (LE.le.{u3} R (Preorder.toLE.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))))) (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))))) r₁) -> (LE.le.{u3} R (Preorder.toLE.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))))) (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))))) r₂) -> (Or (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₁ v) x) (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₂ v) x)) (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₂ v) x) (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₁ v) x)))
+<too large>
Case conversion may be inaccurate. Consider using '#align wbtw_or_wbtw_smul_vadd_of_nonneg wbtw_or_wbtw_smul_vadd_of_nonnegₓ'. -/
theorem wbtw_or_wbtw_smul_vadd_of_nonneg (x : P) (v : V) {r₁ r₂ : R} (hr₁ : 0 ≤ r₁) (hr₂ : 0 ≤ r₂) :
Wbtw R x (r₁ • v +ᵥ x) (r₂ • v +ᵥ x) ∨ Wbtw R x (r₂ • v +ᵥ x) (r₁ • v +ᵥ x) :=
@@ -1363,10 +1297,7 @@ theorem wbtw_or_wbtw_smul_vadd_of_nonneg (x : P) (v : V) {r₁ r₂ : R} (hr₁
#align wbtw_or_wbtw_smul_vadd_of_nonneg wbtw_or_wbtw_smul_vadd_of_nonneg
/- warning: wbtw_smul_vadd_smul_vadd_of_nonpos_of_le -> wbtw_smul_vadd_smul_vadd_of_nonpos_of_le is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (v : V) {r₁ : R} {r₂ : R}, (LE.le.{u1} R (Preorder.toHasLe.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))) r₁ (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))))))) -> (LE.le.{u1} R (Preorder.toHasLe.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))) r₂ r₁) -> (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₁ v) x) (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₂ v) x))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (v : V) {r₁ : R} {r₂ : R}, (LE.le.{u3} R (Preorder.toLE.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))))) r₁ (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))))))) -> (LE.le.{u3} R (Preorder.toLE.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))))) r₂ r₁) -> (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₁ v) x) (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₂ v) x))
+<too large>
Case conversion may be inaccurate. Consider using '#align wbtw_smul_vadd_smul_vadd_of_nonpos_of_le wbtw_smul_vadd_smul_vadd_of_nonpos_of_leₓ'. -/
theorem wbtw_smul_vadd_smul_vadd_of_nonpos_of_le (x : P) (v : V) {r₁ r₂ : R} (hr₁ : r₁ ≤ 0)
(hr₂ : r₂ ≤ r₁) : Wbtw R x (r₁ • v +ᵥ x) (r₂ • v +ᵥ x) := by
@@ -1377,10 +1308,7 @@ theorem wbtw_smul_vadd_smul_vadd_of_nonpos_of_le (x : P) (v : V) {r₁ r₂ : R}
#align wbtw_smul_vadd_smul_vadd_of_nonpos_of_le wbtw_smul_vadd_smul_vadd_of_nonpos_of_le
/- warning: wbtw_or_wbtw_smul_vadd_of_nonpos -> wbtw_or_wbtw_smul_vadd_of_nonpos is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (v : V) {r₁ : R} {r₂ : R}, (LE.le.{u1} R (Preorder.toHasLe.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))) r₁ (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))))))) -> (LE.le.{u1} R (Preorder.toHasLe.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))) r₂ (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))))))) -> (Or (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₁ v) x) (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₂ v) x)) (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₂ v) x) (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₁ v) x)))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (v : V) {r₁ : R} {r₂ : R}, (LE.le.{u3} R (Preorder.toLE.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))))) r₁ (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))))))) -> (LE.le.{u3} R (Preorder.toLE.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))))) r₂ (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))))))) -> (Or (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₁ v) x) (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₂ v) x)) (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₂ v) x) (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₁ v) x)))
+<too large>
Case conversion may be inaccurate. Consider using '#align wbtw_or_wbtw_smul_vadd_of_nonpos wbtw_or_wbtw_smul_vadd_of_nonposₓ'. -/
theorem wbtw_or_wbtw_smul_vadd_of_nonpos (x : P) (v : V) {r₁ r₂ : R} (hr₁ : r₁ ≤ 0) (hr₂ : r₂ ≤ 0) :
Wbtw R x (r₁ • v +ᵥ x) (r₂ • v +ᵥ x) ∨ Wbtw R x (r₂ • v +ᵥ x) (r₁ • v +ᵥ x) :=
@@ -1391,10 +1319,7 @@ theorem wbtw_or_wbtw_smul_vadd_of_nonpos (x : P) (v : V) {r₁ r₂ : R} (hr₁
#align wbtw_or_wbtw_smul_vadd_of_nonpos wbtw_or_wbtw_smul_vadd_of_nonpos
/- warning: wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg -> wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (v : V) {r₁ : R} {r₂ : R}, (LE.le.{u1} R (Preorder.toHasLe.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))) r₁ (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))))))) -> (LE.le.{u1} R (Preorder.toHasLe.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))))))) r₂) -> (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₁ v) x) x (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₂ v) x))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (v : V) {r₁ : R} {r₂ : R}, (LE.le.{u3} R (Preorder.toLE.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))))) r₁ (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))))))) -> (LE.le.{u3} R (Preorder.toLE.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))))) (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))))) r₂) -> (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₁ v) x) x (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₂ v) x))
+<too large>
Case conversion may be inaccurate. Consider using '#align wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonnegₓ'. -/
theorem wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg (x : P) (v : V) {r₁ r₂ : R} (hr₁ : r₁ ≤ 0)
(hr₂ : 0 ≤ r₂) : Wbtw R (r₁ • v +ᵥ x) x (r₂ • v +ᵥ x) := by
@@ -1405,10 +1330,7 @@ theorem wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg (x : P) (v : V) {r₁ r₂
#align wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg
/- warning: wbtw_smul_vadd_smul_vadd_of_nonneg_of_nonpos -> wbtw_smul_vadd_smul_vadd_of_nonneg_of_nonpos is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (v : V) {r₁ : R} {r₂ : R}, (LE.le.{u1} R (Preorder.toHasLe.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))))))) r₁) -> (LE.le.{u1} R (Preorder.toHasLe.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))) r₂ (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))))))) -> (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₁ v) x) x (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₂ v) x))
-but is expected to have type
- forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (v : V) {r₁ : R} {r₂ : R}, (LE.le.{u3} R (Preorder.toLE.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))))) (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))))) r₁) -> (LE.le.{u3} R (Preorder.toLE.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))))) r₂ (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))))))) -> (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₁ v) x) x (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₂ v) x))
+<too large>
Case conversion may be inaccurate. Consider using '#align wbtw_smul_vadd_smul_vadd_of_nonneg_of_nonpos wbtw_smul_vadd_smul_vadd_of_nonneg_of_nonposₓ'. -/
theorem wbtw_smul_vadd_smul_vadd_of_nonneg_of_nonpos (x : P) (v : V) {r₁ r₂ : R} (hr₁ : 0 ≤ r₁)
(hr₂ : r₂ ≤ 0) : Wbtw R (r₁ • v +ᵥ x) x (r₂ • v +ᵥ x) :=
@@ -1579,10 +1501,7 @@ theorem wbtw_pointReflection (x y : P) : Wbtw R y x (pointReflection R x y) :=
#align wbtw_point_reflection wbtw_pointReflection
/- warning: sbtw_point_reflection_of_ne -> sbtw_pointReflection_of_ne is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P}, (Ne.{succ u3} P x y) -> (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 y x (coeFn.{max (succ u3) (succ u2), succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P -> P) (AffineEquiv.hasCoeToFun.{u1, u3, u3, u2, u2} R P P V V (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.pointReflection.{u1, u3, u2} R P V (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 x) y))
-but is expected to have type
- forall (R : Type.{u2}) {V : Type.{u1}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u2} R] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} R V (DivisionSemiring.toSemiring.{u2} R (Semifield.toDivisionSemiring.{u2} R (LinearOrderedSemifield.toSemifield.{u2} R (LinearOrderedField.toLinearOrderedSemifield.{u2} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] [_inst_4 : AddTorsor.{u1, u3} V P (AddCommGroup.toAddGroup.{u1} V _inst_2)] {x : P} {y : P}, (Ne.{succ u3} P x y) -> (Sbtw.{u2, u1, u3} R V P (OrderedCommRing.toOrderedRing.{u2} R (StrictOrderedCommRing.toOrderedCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R (LinearOrderedField.toLinearOrderedCommRing.{u2} R _inst_1)))) _inst_2 _inst_3 _inst_4 y x (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u3} (AffineEquiv.{u2, u3, u3, u1, u1} R P P V V (DivisionRing.toRing.{u2} R (Field.toDivisionRing.{u2} R (LinearOrderedField.toField.{u2} R _inst_1))) _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u1), succ u3, succ u3} (AffineEquiv.{u2, u3, u3, u1, u1} R P P V V (DivisionRing.toRing.{u2} R (Field.toDivisionRing.{u2} R (LinearOrderedField.toField.{u2} R _inst_1))) _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P P (EquivLike.toEmbeddingLike.{max (succ u3) (succ u1), succ u3, succ u3} (AffineEquiv.{u2, u3, u3, u1, u1} R P P V V (DivisionRing.toRing.{u2} R (Field.toDivisionRing.{u2} R (LinearOrderedField.toField.{u2} R _inst_1))) _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P P (AffineEquiv.equivLike.{u2, u3, u3, u1, u1} R P P V V (DivisionRing.toRing.{u2} R (Field.toDivisionRing.{u2} R (LinearOrderedField.toField.{u2} R _inst_1))) _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u2, u3, u1} R P V (DivisionRing.toRing.{u2} R (Field.toDivisionRing.{u2} R (LinearOrderedField.toField.{u2} R _inst_1))) _inst_2 _inst_3 _inst_4 x) y))
+<too large>
Case conversion may be inaccurate. Consider using '#align sbtw_point_reflection_of_ne sbtw_pointReflection_of_neₓ'. -/
theorem sbtw_pointReflection_of_ne {x y : P} (h : x ≠ y) : Sbtw R y x (pointReflection R x y) :=
by
mathlib commit https://github.com/leanprover-community/mathlib/commit/8d33f09cd7089ecf074b4791907588245aec5d1b
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Joseph Myers
! This file was ported from Lean 3 source module analysis.convex.between
-! leanprover-community/mathlib commit f0c8bf9245297a541f468be517f1bde6195105e9
+! leanprover-community/mathlib commit 38df578a6450a8c5142b3727e3ae894c2300cae0
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -17,6 +17,9 @@ import Mathbin.Algebra.CharP.Invertible
/-!
# Betweenness in affine spaces
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
This file defines notions of a point in an affine space being between two given points.
## Main definitions
mathlib commit https://github.com/leanprover-community/mathlib/commit/75e7fca56381d056096ce5d05e938f63a6567828
@@ -42,6 +42,7 @@ variable [AddCommGroup V'] [Module R V'] [AddTorsor V' P']
include V
+#print affineSegment /-
/-- The segment of points weakly between `x` and `y`. When convexity is refactored to support
abstract affine combination spaces, this will no longer need to be a separate definition from
`segment`. However, lemmas involving `+ᵥ` or `-ᵥ` will still be relevant after such a
@@ -49,11 +50,20 @@ refactoring, as distinct from versions involving `+` or `-` in a module. -/
def affineSegment (x y : P) :=
lineMap x y '' Set.Icc (0 : R) 1
#align affine_segment affineSegment
+-/
+#print affineSegment_eq_segment /-
theorem affineSegment_eq_segment (x y : V) : affineSegment R x y = segment R x y := by
rw [segment_eq_image_lineMap, affineSegment]
#align affine_segment_eq_segment affineSegment_eq_segment
+-/
+/- warning: affine_segment_comm -> affineSegment_comm is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Eq.{succ u3} (Set.{u3} P) (affineSegment.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y) (affineSegment.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 y x)
+but is expected to have type
+ forall (R : Type.{u2}) {V : Type.{u1}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u2} R] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} R V (OrderedSemiring.toSemiring.{u2} R (OrderedRing.toOrderedSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] [_inst_4 : AddTorsor.{u1, u3} V P (AddCommGroup.toAddGroup.{u1} V _inst_2)] (x : P) (y : P), Eq.{succ u3} (Set.{u3} P) (affineSegment.{u2, u1, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y) (affineSegment.{u2, u1, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 y x)
+Case conversion may be inaccurate. Consider using '#align affine_segment_comm affineSegment_commₓ'. -/
theorem affineSegment_comm (x y : P) : affineSegment R x y = affineSegment R y x :=
by
refine' Set.ext fun z => _
@@ -64,10 +74,22 @@ theorem affineSegment_comm (x y : P) : affineSegment R x y = affineSegment R y x
· rwa [line_map_apply_one_sub]
#align affine_segment_comm affineSegment_comm
+/- warning: left_mem_affine_segment -> left_mem_affineSegment is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Membership.Mem.{u3, u3} P (Set.{u3} P) (Set.hasMem.{u3} P) x (affineSegment.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y)
+but is expected to have type
+ forall (R : Type.{u2}) {V : Type.{u1}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u2} R] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} R V (OrderedSemiring.toSemiring.{u2} R (OrderedRing.toOrderedSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] [_inst_4 : AddTorsor.{u1, u3} V P (AddCommGroup.toAddGroup.{u1} V _inst_2)] (x : P) (y : P), Membership.mem.{u3, u3} P (Set.{u3} P) (Set.instMembershipSet.{u3} P) x (affineSegment.{u2, u1, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y)
+Case conversion may be inaccurate. Consider using '#align left_mem_affine_segment left_mem_affineSegmentₓ'. -/
theorem left_mem_affineSegment (x y : P) : x ∈ affineSegment R x y :=
⟨0, Set.left_mem_Icc.2 zero_le_one, lineMap_apply_zero _ _⟩
#align left_mem_affine_segment left_mem_affineSegment
+/- warning: right_mem_affine_segment -> right_mem_affineSegment is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Membership.Mem.{u3, u3} P (Set.{u3} P) (Set.hasMem.{u3} P) y (affineSegment.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y)
+but is expected to have type
+ forall (R : Type.{u2}) {V : Type.{u1}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u2} R] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} R V (OrderedSemiring.toSemiring.{u2} R (OrderedRing.toOrderedSemiring.{u2} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] [_inst_4 : AddTorsor.{u1, u3} V P (AddCommGroup.toAddGroup.{u1} V _inst_2)] (x : P) (y : P), Membership.mem.{u3, u3} P (Set.{u3} P) (Set.instMembershipSet.{u3} P) y (affineSegment.{u2, u1, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y)
+Case conversion may be inaccurate. Consider using '#align right_mem_affine_segment right_mem_affineSegmentₓ'. -/
theorem right_mem_affineSegment (x y : P) : y ∈ affineSegment R x y :=
⟨1, Set.right_mem_Icc.2 zero_le_one, lineMap_apply_one _ _⟩
#align right_mem_affine_segment right_mem_affineSegment
@@ -76,6 +98,12 @@ include V'
variable {R}
+/- warning: affine_segment_image -> affineSegment_image is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {V' : Type.{u3}} {P : Type.{u4}} {P' : Type.{u5}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_5 : AddCommGroup.{u3} V'] [_inst_6 : Module.{u1, u3} R V' (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V' _inst_5)] [_inst_7 : AddTorsor.{u3, u5} V' P' (AddCommGroup.toAddGroup.{u3} V' _inst_5)] (f : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (x : P) (y : P), Eq.{succ u5} (Set.{u5} P') (Set.image.{u4, u5} P P' (coeFn.{max (succ u2) (succ u4) (succ u3) (succ u5), max (succ u4) (succ u5)} (AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineMap.hasCoeToFun.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f) (affineSegment.{u1, u2, u4} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y)) (affineSegment.{u1, u3, u5} R V' P' _inst_1 _inst_5 _inst_6 _inst_7 (coeFn.{max (succ u2) (succ u4) (succ u3) (succ u5), max (succ u4) (succ u5)} (AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineMap.hasCoeToFun.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f x) (coeFn.{max (succ u2) (succ u4) (succ u3) (succ u5), max (succ u4) (succ u5)} (AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineMap.hasCoeToFun.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f y))
+but is expected to have type
+ forall {R : Type.{u5}} {V : Type.{u4}} {V' : Type.{u2}} {P : Type.{u3}} {P' : Type.{u1}} [_inst_1 : OrderedRing.{u5} R] [_inst_2 : AddCommGroup.{u4} V] [_inst_3 : Module.{u5, u4} R V (OrderedSemiring.toSemiring.{u5} R (OrderedRing.toOrderedSemiring.{u5} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} V _inst_2)] [_inst_4 : AddTorsor.{u4, u3} V P (AddCommGroup.toAddGroup.{u4} V _inst_2)] [_inst_5 : AddCommGroup.{u2} V'] [_inst_6 : Module.{u5, u2} R V' (OrderedSemiring.toSemiring.{u5} R (OrderedRing.toOrderedSemiring.{u5} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V' _inst_5)] [_inst_7 : AddTorsor.{u2, u1} V' P' (AddCommGroup.toAddGroup.{u2} V' _inst_5)] (f : AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (x : P) (y : P), Eq.{succ u1} (Set.{u1} P') (Set.image.{u3, u1} P P' (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f) (affineSegment.{u5, u4, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y)) (affineSegment.{u5, u2, u1} R V' ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') x) _inst_1 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f x) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f y))
+Case conversion may be inaccurate. Consider using '#align affine_segment_image affineSegment_imageₓ'. -/
@[simp]
theorem affineSegment_image (f : P →ᵃ[R] P') (x y : P) :
f '' affineSegment R x y = affineSegment R (f x) (f y) :=
@@ -88,24 +116,40 @@ omit V'
variable (R)
+#print affineSegment_const_vadd_image /-
@[simp]
theorem affineSegment_const_vadd_image (x y : P) (v : V) :
(· +ᵥ ·) v '' affineSegment R x y = affineSegment R (v +ᵥ x) (v +ᵥ y) :=
affineSegment_image (AffineEquiv.constVAdd R P v : P →ᵃ[R] P) x y
#align affine_segment_const_vadd_image affineSegment_const_vadd_image
+-/
+#print affineSegment_vadd_const_image /-
@[simp]
theorem affineSegment_vadd_const_image (x y : V) (p : P) :
(· +ᵥ p) '' affineSegment R x y = affineSegment R (x +ᵥ p) (y +ᵥ p) :=
affineSegment_image (AffineEquiv.vaddConst R p : V →ᵃ[R] P) x y
#align affine_segment_vadd_const_image affineSegment_vadd_const_image
+-/
+/- warning: affine_segment_const_vsub_image -> affineSegment_const_vsub_image is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P) (p : P), Eq.{succ u2} (Set.{u2} V) (Set.image.{u3, u2} P V (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p) (affineSegment.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y)) (affineSegment.{u1, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p x) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p y))
+but is expected to have type
+ forall (R : Type.{u1}) {V : Type.{u3}} {P : Type.{u2}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u3} V] [_inst_3 : Module.{u1, u3} R V (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2)] (x : P) (y : P) (p : P), Eq.{succ u3} (Set.{u3} V) (Set.image.{u2, u3} P V (fun (x._@.Mathlib.Analysis.Convex.Between._hyg.933 : P) => VSub.vsub.{u3, u2} V P (AddTorsor.toVSub.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2) _inst_4) p x._@.Mathlib.Analysis.Convex.Between._hyg.933) (affineSegment.{u1, u3, u2} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y)) (affineSegment.{u1, u3, u3} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V (AddCommGroup.toAddGroup.{u3} V _inst_2)) (VSub.vsub.{u3, u2} V P (AddTorsor.toVSub.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2) _inst_4) p x) (VSub.vsub.{u3, u2} V P (AddTorsor.toVSub.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2) _inst_4) p y))
+Case conversion may be inaccurate. Consider using '#align affine_segment_const_vsub_image affineSegment_const_vsub_imageₓ'. -/
@[simp]
theorem affineSegment_const_vsub_image (x y p : P) :
(· -ᵥ ·) p '' affineSegment R x y = affineSegment R (p -ᵥ x) (p -ᵥ y) :=
affineSegment_image (AffineEquiv.constVSub R p : P →ᵃ[R] V) x y
#align affine_segment_const_vsub_image affineSegment_const_vsub_image
+/- warning: affine_segment_vsub_const_image -> affineSegment_vsub_const_image is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P) (p : P), Eq.{succ u2} (Set.{u2} V) (Set.image.{u3, u2} P V (fun (_x : P) => VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) _x p) (affineSegment.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y)) (affineSegment.{u1, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) x p) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) y p))
+but is expected to have type
+ forall (R : Type.{u1}) {V : Type.{u3}} {P : Type.{u2}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u3} V] [_inst_3 : Module.{u1, u3} R V (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2)] (x : P) (y : P) (p : P), Eq.{succ u3} (Set.{u3} V) (Set.image.{u2, u3} P V (fun (_x : P) => VSub.vsub.{u3, u2} V P (AddTorsor.toVSub.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2) _inst_4) _x p) (affineSegment.{u1, u3, u2} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y)) (affineSegment.{u1, u3, u3} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V (AddCommGroup.toAddGroup.{u3} V _inst_2)) (VSub.vsub.{u3, u2} V P (AddTorsor.toVSub.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2) _inst_4) x p) (VSub.vsub.{u3, u2} V P (AddTorsor.toVSub.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2) _inst_4) y p))
+Case conversion may be inaccurate. Consider using '#align affine_segment_vsub_const_image affineSegment_vsub_const_imageₓ'. -/
@[simp]
theorem affineSegment_vsub_const_image (x y p : P) :
(· -ᵥ p) '' affineSegment R x y = affineSegment R (x -ᵥ p) (y -ᵥ p) :=
@@ -114,26 +158,42 @@ theorem affineSegment_vsub_const_image (x y p : P) :
variable {R}
+#print mem_const_vadd_affineSegment /-
@[simp]
theorem mem_const_vadd_affineSegment {x y z : P} (v : V) :
v +ᵥ z ∈ affineSegment R (v +ᵥ x) (v +ᵥ y) ↔ z ∈ affineSegment R x y := by
rw [← affineSegment_const_vadd_image, (AddAction.injective v).mem_set_image]
#align mem_const_vadd_affine_segment mem_const_vadd_affineSegment
+-/
+#print mem_vadd_const_affineSegment /-
@[simp]
theorem mem_vadd_const_affineSegment {x y z : V} (p : P) :
z +ᵥ p ∈ affineSegment R (x +ᵥ p) (y +ᵥ p) ↔ z ∈ affineSegment R x y := by
rw [← affineSegment_vadd_const_image, (vadd_right_injective p).mem_set_image]
#align mem_vadd_const_affine_segment mem_vadd_const_affineSegment
+-/
variable {R}
+/- warning: mem_const_vsub_affine_segment -> mem_const_vsub_affineSegment is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P} (p : P), Iff (Membership.Mem.{u2, u2} V (Set.{u2} V) (Set.hasMem.{u2} V) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p z) (affineSegment.{u1, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p x) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p y))) (Membership.Mem.{u3, u3} P (Set.{u3} P) (Set.hasMem.{u3} P) z (affineSegment.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y))
+but is expected to have type
+ forall {R : Type.{u1}} {V : Type.{u3}} {P : Type.{u2}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u3} V] [_inst_3 : Module.{u1, u3} R V (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2)] {x : P} {y : P} {z : P} (p : P), Iff (Membership.mem.{u3, u3} V (Set.{u3} V) (Set.instMembershipSet.{u3} V) (VSub.vsub.{u3, u2} V P (AddTorsor.toVSub.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2) _inst_4) p z) (affineSegment.{u1, u3, u3} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V (AddCommGroup.toAddGroup.{u3} V _inst_2)) (VSub.vsub.{u3, u2} V P (AddTorsor.toVSub.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2) _inst_4) p x) (VSub.vsub.{u3, u2} V P (AddTorsor.toVSub.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2) _inst_4) p y))) (Membership.mem.{u2, u2} P (Set.{u2} P) (Set.instMembershipSet.{u2} P) z (affineSegment.{u1, u3, u2} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y))
+Case conversion may be inaccurate. Consider using '#align mem_const_vsub_affine_segment mem_const_vsub_affineSegmentₓ'. -/
@[simp]
theorem mem_const_vsub_affineSegment {x y z : P} (p : P) :
p -ᵥ z ∈ affineSegment R (p -ᵥ x) (p -ᵥ y) ↔ z ∈ affineSegment R x y := by
rw [← affineSegment_const_vsub_image, (vsub_right_injective p).mem_set_image]
#align mem_const_vsub_affine_segment mem_const_vsub_affineSegment
+/- warning: mem_vsub_const_affine_segment -> mem_vsub_const_affineSegment is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P} (p : P), Iff (Membership.Mem.{u2, u2} V (Set.{u2} V) (Set.hasMem.{u2} V) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) z p) (affineSegment.{u1, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) x p) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) y p))) (Membership.Mem.{u3, u3} P (Set.{u3} P) (Set.hasMem.{u3} P) z (affineSegment.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y))
+but is expected to have type
+ forall {R : Type.{u1}} {V : Type.{u3}} {P : Type.{u2}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u3} V] [_inst_3 : Module.{u1, u3} R V (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] [_inst_4 : AddTorsor.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2)] {x : P} {y : P} {z : P} (p : P), Iff (Membership.mem.{u3, u3} V (Set.{u3} V) (Set.instMembershipSet.{u3} V) (VSub.vsub.{u3, u2} V P (AddTorsor.toVSub.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2) _inst_4) z p) (affineSegment.{u1, u3, u3} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u3} V (AddCommGroup.toAddGroup.{u3} V _inst_2)) (VSub.vsub.{u3, u2} V P (AddTorsor.toVSub.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2) _inst_4) x p) (VSub.vsub.{u3, u2} V P (AddTorsor.toVSub.{u3, u2} V P (AddCommGroup.toAddGroup.{u3} V _inst_2) _inst_4) y p))) (Membership.mem.{u2, u2} P (Set.{u2} P) (Set.instMembershipSet.{u2} P) z (affineSegment.{u1, u3, u2} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y))
+Case conversion may be inaccurate. Consider using '#align mem_vsub_const_affine_segment mem_vsub_const_affineSegmentₓ'. -/
@[simp]
theorem mem_vsub_const_affineSegment {x y z : P} (p : P) :
z -ᵥ p ∈ affineSegment R (x -ᵥ p) (y -ᵥ p) ↔ z ∈ affineSegment R x y := by
@@ -142,26 +202,42 @@ theorem mem_vsub_const_affineSegment {x y z : P} (p : P) :
variable (R)
+#print Wbtw /-
/-- The point `y` is weakly between `x` and `z`. -/
def Wbtw (x y z : P) : Prop :=
y ∈ affineSegment R x z
#align wbtw Wbtw
+-/
+#print Sbtw /-
/-- The point `y` is strictly between `x` and `z`. -/
def Sbtw (x y z : P) : Prop :=
Wbtw R x y z ∧ y ≠ x ∧ y ≠ z
#align sbtw Sbtw
+-/
variable {R}
include V'
+/- warning: wbtw.map -> Wbtw.map is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {V' : Type.{u3}} {P : Type.{u4}} {P' : Type.{u5}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_5 : AddCommGroup.{u3} V'] [_inst_6 : Module.{u1, u3} R V' (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V' _inst_5)] [_inst_7 : AddTorsor.{u3, u5} V' P' (AddCommGroup.toAddGroup.{u3} V' _inst_5)] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u4} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (forall (f : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Wbtw.{u1, u3, u5} R V' P' _inst_1 _inst_5 _inst_6 _inst_7 (coeFn.{max (succ u2) (succ u4) (succ u3) (succ u5), max (succ u4) (succ u5)} (AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineMap.hasCoeToFun.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f x) (coeFn.{max (succ u2) (succ u4) (succ u3) (succ u5), max (succ u4) (succ u5)} (AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineMap.hasCoeToFun.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f y) (coeFn.{max (succ u2) (succ u4) (succ u3) (succ u5), max (succ u4) (succ u5)} (AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineMap.hasCoeToFun.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f z))
+but is expected to have type
+ forall {R : Type.{u5}} {V : Type.{u4}} {V' : Type.{u2}} {P : Type.{u3}} {P' : Type.{u1}} [_inst_1 : OrderedRing.{u5} R] [_inst_2 : AddCommGroup.{u4} V] [_inst_3 : Module.{u5, u4} R V (OrderedSemiring.toSemiring.{u5} R (OrderedRing.toOrderedSemiring.{u5} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} V _inst_2)] [_inst_4 : AddTorsor.{u4, u3} V P (AddCommGroup.toAddGroup.{u4} V _inst_2)] [_inst_5 : AddCommGroup.{u2} V'] [_inst_6 : Module.{u5, u2} R V' (OrderedSemiring.toSemiring.{u5} R (OrderedRing.toOrderedSemiring.{u5} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V' _inst_5)] [_inst_7 : AddTorsor.{u2, u1} V' P' (AddCommGroup.toAddGroup.{u2} V' _inst_5)] {x : P} {y : P} {z : P}, (Wbtw.{u5, u4, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (forall (f : AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Wbtw.{u5, u2, u1} R V' ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') x) _inst_1 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f x) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f y) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f z))
+Case conversion may be inaccurate. Consider using '#align wbtw.map Wbtw.mapₓ'. -/
theorem Wbtw.map {x y z : P} (h : Wbtw R x y z) (f : P →ᵃ[R] P') : Wbtw R (f x) (f y) (f z) :=
by
rw [Wbtw, ← affineSegment_image]
exact Set.mem_image_of_mem _ h
#align wbtw.map Wbtw.map
+/- warning: function.injective.wbtw_map_iff -> Function.Injective.wbtw_map_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {V' : Type.{u3}} {P : Type.{u4}} {P' : Type.{u5}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_5 : AddCommGroup.{u3} V'] [_inst_6 : Module.{u1, u3} R V' (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V' _inst_5)] [_inst_7 : AddTorsor.{u3, u5} V' P' (AddCommGroup.toAddGroup.{u3} V' _inst_5)] {x : P} {y : P} {z : P} {f : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, (Function.Injective.{succ u4, succ u5} P P' (coeFn.{max (succ u2) (succ u4) (succ u3) (succ u5), max (succ u4) (succ u5)} (AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineMap.hasCoeToFun.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f)) -> (Iff (Wbtw.{u1, u3, u5} R V' P' _inst_1 _inst_5 _inst_6 _inst_7 (coeFn.{max (succ u2) (succ u4) (succ u3) (succ u5), max (succ u4) (succ u5)} (AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineMap.hasCoeToFun.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f x) (coeFn.{max (succ u2) (succ u4) (succ u3) (succ u5), max (succ u4) (succ u5)} (AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineMap.hasCoeToFun.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f y) (coeFn.{max (succ u2) (succ u4) (succ u3) (succ u5), max (succ u4) (succ u5)} (AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineMap.hasCoeToFun.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f z)) (Wbtw.{u1, u2, u4} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z))
+but is expected to have type
+ forall {R : Type.{u5}} {V : Type.{u4}} {V' : Type.{u2}} {P : Type.{u3}} {P' : Type.{u1}} [_inst_1 : OrderedRing.{u5} R] [_inst_2 : AddCommGroup.{u4} V] [_inst_3 : Module.{u5, u4} R V (OrderedSemiring.toSemiring.{u5} R (OrderedRing.toOrderedSemiring.{u5} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} V _inst_2)] [_inst_4 : AddTorsor.{u4, u3} V P (AddCommGroup.toAddGroup.{u4} V _inst_2)] [_inst_5 : AddCommGroup.{u2} V'] [_inst_6 : Module.{u5, u2} R V' (OrderedSemiring.toSemiring.{u5} R (OrderedRing.toOrderedSemiring.{u5} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V' _inst_5)] [_inst_7 : AddTorsor.{u2, u1} V' P' (AddCommGroup.toAddGroup.{u2} V' _inst_5)] {x : P} {y : P} {z : P} {f : AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, (Function.Injective.{succ u3, succ u1} P P' (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f)) -> (Iff (Wbtw.{u5, u2, u1} R V' ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') x) _inst_1 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f x) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f y) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f z)) (Wbtw.{u5, u4, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z))
+Case conversion may be inaccurate. Consider using '#align function.injective.wbtw_map_iff Function.Injective.wbtw_map_iffₓ'. -/
theorem Function.Injective.wbtw_map_iff {x y z : P} {f : P →ᵃ[R] P'} (hf : Function.Injective f) :
Wbtw R (f x) (f y) (f z) ↔ Wbtw R x y z :=
by
@@ -169,10 +245,22 @@ theorem Function.Injective.wbtw_map_iff {x y z : P} {f : P →ᵃ[R] P'} (hf : F
rwa [Wbtw, ← affineSegment_image, hf.mem_set_image] at h
#align function.injective.wbtw_map_iff Function.Injective.wbtw_map_iff
+/- warning: function.injective.sbtw_map_iff -> Function.Injective.sbtw_map_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {V' : Type.{u3}} {P : Type.{u4}} {P' : Type.{u5}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_5 : AddCommGroup.{u3} V'] [_inst_6 : Module.{u1, u3} R V' (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V' _inst_5)] [_inst_7 : AddTorsor.{u3, u5} V' P' (AddCommGroup.toAddGroup.{u3} V' _inst_5)] {x : P} {y : P} {z : P} {f : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, (Function.Injective.{succ u4, succ u5} P P' (coeFn.{max (succ u2) (succ u4) (succ u3) (succ u5), max (succ u4) (succ u5)} (AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineMap.hasCoeToFun.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f)) -> (Iff (Sbtw.{u1, u3, u5} R V' P' _inst_1 _inst_5 _inst_6 _inst_7 (coeFn.{max (succ u2) (succ u4) (succ u3) (succ u5), max (succ u4) (succ u5)} (AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineMap.hasCoeToFun.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f x) (coeFn.{max (succ u2) (succ u4) (succ u3) (succ u5), max (succ u4) (succ u5)} (AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineMap.hasCoeToFun.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f y) (coeFn.{max (succ u2) (succ u4) (succ u3) (succ u5), max (succ u4) (succ u5)} (AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineMap.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineMap.hasCoeToFun.{u1, u2, u4, u3, u5} R V P V' P' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f z)) (Sbtw.{u1, u2, u4} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z))
+but is expected to have type
+ forall {R : Type.{u5}} {V : Type.{u4}} {V' : Type.{u2}} {P : Type.{u3}} {P' : Type.{u1}} [_inst_1 : OrderedRing.{u5} R] [_inst_2 : AddCommGroup.{u4} V] [_inst_3 : Module.{u5, u4} R V (OrderedSemiring.toSemiring.{u5} R (OrderedRing.toOrderedSemiring.{u5} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u4} V _inst_2)] [_inst_4 : AddTorsor.{u4, u3} V P (AddCommGroup.toAddGroup.{u4} V _inst_2)] [_inst_5 : AddCommGroup.{u2} V'] [_inst_6 : Module.{u5, u2} R V' (OrderedSemiring.toSemiring.{u5} R (OrderedRing.toOrderedSemiring.{u5} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V' _inst_5)] [_inst_7 : AddTorsor.{u2, u1} V' P' (AddCommGroup.toAddGroup.{u2} V' _inst_5)] {x : P} {y : P} {z : P} {f : AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7}, (Function.Injective.{succ u3, succ u1} P P' (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f)) -> (Iff (Sbtw.{u5, u2, u1} R V' ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') x) _inst_1 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f x) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f y) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : P) => P') _x) (AffineMap.funLike.{u5, u4, u3, u2, u1} R V P V' P' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f z)) (Sbtw.{u5, u4, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z))
+Case conversion may be inaccurate. Consider using '#align function.injective.sbtw_map_iff Function.Injective.sbtw_map_iffₓ'. -/
theorem Function.Injective.sbtw_map_iff {x y z : P} {f : P →ᵃ[R] P'} (hf : Function.Injective f) :
Sbtw R (f x) (f y) (f z) ↔ Sbtw R x y z := by simp_rw [Sbtw, hf.wbtw_map_iff, hf.ne_iff]
#align function.injective.sbtw_map_iff Function.Injective.sbtw_map_iff
+/- warning: affine_equiv.wbtw_map_iff -> AffineEquiv.wbtw_map_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {V' : Type.{u3}} {P : Type.{u4}} {P' : Type.{u5}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_5 : AddCommGroup.{u3} V'] [_inst_6 : Module.{u1, u3} R V' (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V' _inst_5)] [_inst_7 : AddTorsor.{u3, u5} V' P' (AddCommGroup.toAddGroup.{u3} V' _inst_5)] {x : P} {y : P} {z : P} (f : AffineEquiv.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Iff (Wbtw.{u1, u3, u5} R V' P' _inst_1 _inst_5 _inst_6 _inst_7 (coeFn.{max (succ u4) (succ u5) (succ u2) (succ u3), max (succ u4) (succ u5)} (AffineEquiv.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineEquiv.hasCoeToFun.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f x) (coeFn.{max (succ u4) (succ u5) (succ u2) (succ u3), max (succ u4) (succ u5)} (AffineEquiv.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineEquiv.hasCoeToFun.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f y) (coeFn.{max (succ u4) (succ u5) (succ u2) (succ u3), max (succ u4) (succ u5)} (AffineEquiv.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineEquiv.hasCoeToFun.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f z)) (Wbtw.{u1, u2, u4} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
+but is expected to have type
+ forall {R : Type.{u5}} {V : Type.{u2}} {V' : Type.{u1}} {P : Type.{u4}} {P' : Type.{u3}} [_inst_1 : OrderedRing.{u5} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u5, u2} R V (OrderedSemiring.toSemiring.{u5} R (OrderedRing.toOrderedSemiring.{u5} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_5 : AddCommGroup.{u1} V'] [_inst_6 : Module.{u5, u1} R V' (OrderedSemiring.toSemiring.{u5} R (OrderedRing.toOrderedSemiring.{u5} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V' _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V' P' (AddCommGroup.toAddGroup.{u1} V' _inst_5)] {x : P} {y : P} {z : P} (f : AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Iff (Wbtw.{u5, u1, u3} R V' ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P') x) _inst_1 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P') _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P P' (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P P' (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f x) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P') _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P P' (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P P' (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f y) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P') _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P P' (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P P' (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f z)) (Wbtw.{u5, u2, u4} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.wbtw_map_iff AffineEquiv.wbtw_map_iffₓ'. -/
@[simp]
theorem AffineEquiv.wbtw_map_iff {x y z : P} (f : P ≃ᵃ[R] P') :
Wbtw R (f x) (f y) (f z) ↔ Wbtw R x y z :=
@@ -181,6 +269,12 @@ theorem AffineEquiv.wbtw_map_iff {x y z : P} (f : P ≃ᵃ[R] P') :
exact f.injective
#align affine_equiv.wbtw_map_iff AffineEquiv.wbtw_map_iff
+/- warning: affine_equiv.sbtw_map_iff -> AffineEquiv.sbtw_map_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {V' : Type.{u3}} {P : Type.{u4}} {P' : Type.{u5}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_5 : AddCommGroup.{u3} V'] [_inst_6 : Module.{u1, u3} R V' (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V' _inst_5)] [_inst_7 : AddTorsor.{u3, u5} V' P' (AddCommGroup.toAddGroup.{u3} V' _inst_5)] {x : P} {y : P} {z : P} (f : AffineEquiv.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Iff (Sbtw.{u1, u3, u5} R V' P' _inst_1 _inst_5 _inst_6 _inst_7 (coeFn.{max (succ u4) (succ u5) (succ u2) (succ u3), max (succ u4) (succ u5)} (AffineEquiv.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineEquiv.hasCoeToFun.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f x) (coeFn.{max (succ u4) (succ u5) (succ u2) (succ u3), max (succ u4) (succ u5)} (AffineEquiv.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineEquiv.hasCoeToFun.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f y) (coeFn.{max (succ u4) (succ u5) (succ u2) (succ u3), max (succ u4) (succ u5)} (AffineEquiv.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) (fun (_x : AffineEquiv.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) => P -> P') (AffineEquiv.hasCoeToFun.{u1, u4, u5, u2, u3} R P P' V V' (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) f z)) (Sbtw.{u1, u2, u4} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
+but is expected to have type
+ forall {R : Type.{u5}} {V : Type.{u2}} {V' : Type.{u1}} {P : Type.{u4}} {P' : Type.{u3}} [_inst_1 : OrderedRing.{u5} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u5, u2} R V (OrderedSemiring.toSemiring.{u5} R (OrderedRing.toOrderedSemiring.{u5} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u4} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_5 : AddCommGroup.{u1} V'] [_inst_6 : Module.{u5, u1} R V' (OrderedSemiring.toSemiring.{u5} R (OrderedRing.toOrderedSemiring.{u5} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V' _inst_5)] [_inst_7 : AddTorsor.{u1, u3} V' P' (AddCommGroup.toAddGroup.{u1} V' _inst_5)] {x : P} {y : P} {z : P} (f : AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7), Iff (Sbtw.{u5, u1, u3} R V' ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P') x) _inst_1 _inst_5 _inst_6 _inst_7 (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P') _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P P' (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P P' (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f x) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P') _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P P' (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P P' (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f y) (FunLike.coe.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P') _x) (EmbeddingLike.toFunLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P P' (EquivLike.toEmbeddingLike.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), succ u4, succ u3} (AffineEquiv.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) P P' (AffineEquiv.equivLike.{u5, u4, u3, u2, u1} R P P' V V' (OrderedRing.toRing.{u5} R _inst_1) _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7))) f z)) (Sbtw.{u5, u2, u4} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
+Case conversion may be inaccurate. Consider using '#align affine_equiv.sbtw_map_iff AffineEquiv.sbtw_map_iffₓ'. -/
@[simp]
theorem AffineEquiv.sbtw_map_iff {x y z : P} (f : P ≃ᵃ[R] P') :
Sbtw R (f x) (f y) (f z) ↔ Sbtw R x y z :=
@@ -191,74 +285,158 @@ theorem AffineEquiv.sbtw_map_iff {x y z : P} (f : P ≃ᵃ[R] P') :
omit V'
+/- warning: wbtw_const_vadd_iff -> wbtw_const_vadd_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P} (v : V), Iff (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) v x) (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) v y) (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) v z)) (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P} (v : V), Iff (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) v x) (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) v y) (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) v z)) (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
+Case conversion may be inaccurate. Consider using '#align wbtw_const_vadd_iff wbtw_const_vadd_iffₓ'. -/
@[simp]
theorem wbtw_const_vadd_iff {x y z : P} (v : V) :
Wbtw R (v +ᵥ x) (v +ᵥ y) (v +ᵥ z) ↔ Wbtw R x y z :=
mem_const_vadd_affineSegment _
#align wbtw_const_vadd_iff wbtw_const_vadd_iff
+/- warning: wbtw_vadd_const_iff -> wbtw_vadd_const_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : V} {y : V} {z : V} (p : P), Iff (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) x p) (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) y p) (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) z p)) (Wbtw.{u1, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) x y z)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : V} {y : V} {z : V} (p : P), Iff (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) x p) (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) y p) (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) z p)) (Wbtw.{u3, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) x y z)
+Case conversion may be inaccurate. Consider using '#align wbtw_vadd_const_iff wbtw_vadd_const_iffₓ'. -/
@[simp]
theorem wbtw_vadd_const_iff {x y z : V} (p : P) :
Wbtw R (x +ᵥ p) (y +ᵥ p) (z +ᵥ p) ↔ Wbtw R x y z :=
mem_vadd_const_affineSegment _
#align wbtw_vadd_const_iff wbtw_vadd_const_iff
+/- warning: wbtw_const_vsub_iff -> wbtw_const_vsub_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P} (p : P), Iff (Wbtw.{u1, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p x) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p y) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p z)) (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P} (p : P), Iff (Wbtw.{u3, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p x) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p y) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p z)) (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
+Case conversion may be inaccurate. Consider using '#align wbtw_const_vsub_iff wbtw_const_vsub_iffₓ'. -/
@[simp]
theorem wbtw_const_vsub_iff {x y z : P} (p : P) :
Wbtw R (p -ᵥ x) (p -ᵥ y) (p -ᵥ z) ↔ Wbtw R x y z :=
mem_const_vsub_affineSegment _
#align wbtw_const_vsub_iff wbtw_const_vsub_iff
+/- warning: wbtw_vsub_const_iff -> wbtw_vsub_const_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P} (p : P), Iff (Wbtw.{u1, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) x p) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) y p) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) z p)) (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P} (p : P), Iff (Wbtw.{u3, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) x p) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) y p) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) z p)) (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
+Case conversion may be inaccurate. Consider using '#align wbtw_vsub_const_iff wbtw_vsub_const_iffₓ'. -/
@[simp]
theorem wbtw_vsub_const_iff {x y z : P} (p : P) :
Wbtw R (x -ᵥ p) (y -ᵥ p) (z -ᵥ p) ↔ Wbtw R x y z :=
mem_vsub_const_affineSegment _
#align wbtw_vsub_const_iff wbtw_vsub_const_iff
+/- warning: sbtw_const_vadd_iff -> sbtw_const_vadd_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P} (v : V), Iff (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) v x) (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) v y) (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) v z)) (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P} (v : V), Iff (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) v x) (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) v y) (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) v z)) (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
+Case conversion may be inaccurate. Consider using '#align sbtw_const_vadd_iff sbtw_const_vadd_iffₓ'. -/
@[simp]
theorem sbtw_const_vadd_iff {x y z : P} (v : V) :
Sbtw R (v +ᵥ x) (v +ᵥ y) (v +ᵥ z) ↔ Sbtw R x y z := by
simp_rw [Sbtw, wbtw_const_vadd_iff, (AddAction.injective v).ne_iff]
#align sbtw_const_vadd_iff sbtw_const_vadd_iff
+/- warning: sbtw_vadd_const_iff -> sbtw_vadd_const_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : V} {y : V} {z : V} (p : P), Iff (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) x p) (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) y p) (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) z p)) (Sbtw.{u1, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) x y z)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : V} {y : V} {z : V} (p : P), Iff (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) x p) (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) y p) (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) z p)) (Sbtw.{u3, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) x y z)
+Case conversion may be inaccurate. Consider using '#align sbtw_vadd_const_iff sbtw_vadd_const_iffₓ'. -/
@[simp]
theorem sbtw_vadd_const_iff {x y z : V} (p : P) :
Sbtw R (x +ᵥ p) (y +ᵥ p) (z +ᵥ p) ↔ Sbtw R x y z := by
simp_rw [Sbtw, wbtw_vadd_const_iff, (vadd_right_injective p).ne_iff]
#align sbtw_vadd_const_iff sbtw_vadd_const_iff
+/- warning: sbtw_const_vsub_iff -> sbtw_const_vsub_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P} (p : P), Iff (Sbtw.{u1, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p x) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p y) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p z)) (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P} (p : P), Iff (Sbtw.{u3, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p x) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p y) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) p z)) (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
+Case conversion may be inaccurate. Consider using '#align sbtw_const_vsub_iff sbtw_const_vsub_iffₓ'. -/
@[simp]
theorem sbtw_const_vsub_iff {x y z : P} (p : P) :
Sbtw R (p -ᵥ x) (p -ᵥ y) (p -ᵥ z) ↔ Sbtw R x y z := by
simp_rw [Sbtw, wbtw_const_vsub_iff, (vsub_right_injective p).ne_iff]
#align sbtw_const_vsub_iff sbtw_const_vsub_iff
+/- warning: sbtw_vsub_const_iff -> sbtw_vsub_const_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P} (p : P), Iff (Sbtw.{u1, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) x p) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) y p) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) z p)) (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P} (p : P), Iff (Sbtw.{u3, u2, u2} R V V _inst_1 _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) x p) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) y p) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) z p)) (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
+Case conversion may be inaccurate. Consider using '#align sbtw_vsub_const_iff sbtw_vsub_const_iffₓ'. -/
@[simp]
theorem sbtw_vsub_const_iff {x y z : P} (p : P) :
Sbtw R (x -ᵥ p) (y -ᵥ p) (z -ᵥ p) ↔ Sbtw R x y z := by
simp_rw [Sbtw, wbtw_vsub_const_iff, (vsub_left_injective p).ne_iff]
#align sbtw_vsub_const_iff sbtw_vsub_const_iff
+/- warning: sbtw.wbtw -> Sbtw.wbtw is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z)
+Case conversion may be inaccurate. Consider using '#align sbtw.wbtw Sbtw.wbtwₓ'. -/
theorem Sbtw.wbtw {x y z : P} (h : Sbtw R x y z) : Wbtw R x y z :=
h.1
#align sbtw.wbtw Sbtw.wbtw
+/- warning: sbtw.ne_left -> Sbtw.ne_left is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u3} P y x)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u1} P y x)
+Case conversion may be inaccurate. Consider using '#align sbtw.ne_left Sbtw.ne_leftₓ'. -/
theorem Sbtw.ne_left {x y z : P} (h : Sbtw R x y z) : y ≠ x :=
h.2.1
#align sbtw.ne_left Sbtw.ne_left
+/- warning: sbtw.left_ne -> Sbtw.left_ne is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u3} P x y)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u1} P x y)
+Case conversion may be inaccurate. Consider using '#align sbtw.left_ne Sbtw.left_neₓ'. -/
theorem Sbtw.left_ne {x y z : P} (h : Sbtw R x y z) : x ≠ y :=
h.2.1.symm
#align sbtw.left_ne Sbtw.left_ne
+/- warning: sbtw.ne_right -> Sbtw.ne_right is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u3} P y z)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u1} P y z)
+Case conversion may be inaccurate. Consider using '#align sbtw.ne_right Sbtw.ne_rightₓ'. -/
theorem Sbtw.ne_right {x y z : P} (h : Sbtw R x y z) : y ≠ z :=
h.2.2
#align sbtw.ne_right Sbtw.ne_right
+/- warning: sbtw.right_ne -> Sbtw.right_ne is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u3} P z y)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u1} P z y)
+Case conversion may be inaccurate. Consider using '#align sbtw.right_ne Sbtw.right_neₓ'. -/
theorem Sbtw.right_ne {x y z : P} (h : Sbtw R x y z) : z ≠ y :=
h.2.2.symm
#align sbtw.right_ne Sbtw.right_ne
+/- warning: sbtw.mem_image_Ioo -> Sbtw.mem_image_Ioo is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Membership.Mem.{u3, u3} P (Set.{u3} P) (Set.hasMem.{u3} P) y (Set.image.{u1, u3} R P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (OrderedRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (OrderedRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) _inst_2 _inst_3 _inst_4) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (OrderedRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 x z)) (Set.Ioo.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))))))))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Membership.mem.{u1, u1} P (Set.{u1} P) (Set.instMembershipSet.{u1} P) y (Set.image.{u3, u1} R P (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (OrderedRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (OrderedRing.toRing.{u3} R _inst_1)) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (OrderedRing.toRing.{u3} R _inst_1))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (OrderedRing.toRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (OrderedRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (OrderedRing.toRing.{u3} R _inst_1)) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (OrderedRing.toRing.{u3} R _inst_1))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (OrderedRing.toRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u3, u2, u1} R V P (OrderedRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 _inst_4 x z)) (Set.Ioo.{u3} R (PartialOrder.toPreorder.{u3} R (OrderedRing.toPartialOrder.{u3} R _inst_1)) (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))))))))
+Case conversion may be inaccurate. Consider using '#align sbtw.mem_image_Ioo Sbtw.mem_image_Iooₓ'. -/
theorem Sbtw.mem_image_Ioo {x y z : P} (h : Sbtw R x y z) : y ∈ lineMap x z '' Set.Ioo (0 : R) 1 :=
by
rcases h with ⟨⟨t, ht, rfl⟩, hyx, hyz⟩
@@ -270,38 +448,86 @@ theorem Sbtw.mem_image_Ioo {x y z : P} (h : Sbtw R x y z) : y ∈ lineMap x z ''
· exact ⟨t, ho, rfl⟩
#align sbtw.mem_image_Ioo Sbtw.mem_image_Ioo
+/- warning: wbtw.mem_affine_span -> Wbtw.mem_affineSpan is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Membership.Mem.{u3, u3} P (AffineSubspace.{u1, u2, u3} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4) (SetLike.hasMem.{u3, u3} (AffineSubspace.{u1, u2, u3} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4) P (AffineSubspace.setLike.{u1, u2, u3} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4)) y (affineSpan.{u1, u2, u3} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 (Insert.insert.{u3, u3} P (Set.{u3} P) (Set.hasInsert.{u3} P) x (Singleton.singleton.{u3, u3} P (Set.{u3} P) (Set.hasSingleton.{u3} P) z))))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Membership.mem.{u1, u1} P (AffineSubspace.{u3, u2, u1} R V P (OrderedRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (AffineSubspace.{u3, u2, u1} R V P (OrderedRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 _inst_4) P (AffineSubspace.instSetLikeAffineSubspace.{u3, u2, u1} R V P (OrderedRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 _inst_4)) y (affineSpan.{u3, u2, u1} R V P (OrderedRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 _inst_4 (Insert.insert.{u1, u1} P (Set.{u1} P) (Set.instInsertSet.{u1} P) x (Singleton.singleton.{u1, u1} P (Set.{u1} P) (Set.instSingletonSet.{u1} P) z))))
+Case conversion may be inaccurate. Consider using '#align wbtw.mem_affine_span Wbtw.mem_affineSpanₓ'. -/
theorem Wbtw.mem_affineSpan {x y z : P} (h : Wbtw R x y z) : y ∈ line[R, x, z] :=
by
rcases h with ⟨r, ⟨-, rfl⟩⟩
exact line_map_mem_affine_span_pair _ _ _
#align wbtw.mem_affine_span Wbtw.mem_affineSpan
+/- warning: wbtw_comm -> wbtw_comm is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, Iff (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 z y x)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, Iff (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 z y x)
+Case conversion may be inaccurate. Consider using '#align wbtw_comm wbtw_commₓ'. -/
theorem wbtw_comm {x y z : P} : Wbtw R x y z ↔ Wbtw R z y x := by
rw [Wbtw, Wbtw, affineSegment_comm]
#align wbtw_comm wbtw_comm
+/- warning: wbtw.symm -> Wbtw.symm is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 z y x)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 z y x)
+Case conversion may be inaccurate. Consider using '#align wbtw.symm Wbtw.symmₓ'. -/
alias wbtw_comm ↔ Wbtw.symm _
#align wbtw.symm Wbtw.symm
+/- warning: sbtw_comm -> sbtw_comm is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, Iff (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 z y x)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, Iff (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 z y x)
+Case conversion may be inaccurate. Consider using '#align sbtw_comm sbtw_commₓ'. -/
theorem sbtw_comm {x y z : P} : Sbtw R x y z ↔ Sbtw R z y x := by
rw [Sbtw, Sbtw, wbtw_comm, ← and_assoc', ← and_assoc', and_right_comm]
#align sbtw_comm sbtw_comm
+/- warning: sbtw.symm -> Sbtw.symm is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 z y x)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 z y x)
+Case conversion may be inaccurate. Consider using '#align sbtw.symm Sbtw.symmₓ'. -/
alias sbtw_comm ↔ Sbtw.symm _
#align sbtw.symm Sbtw.symm
variable (R)
+/- warning: wbtw_self_left -> wbtw_self_left is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x x y
+but is expected to have type
+ forall (R : Type.{u3}) {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x x y
+Case conversion may be inaccurate. Consider using '#align wbtw_self_left wbtw_self_leftₓ'. -/
@[simp]
theorem wbtw_self_left (x y : P) : Wbtw R x x y :=
left_mem_affineSegment _ _ _
#align wbtw_self_left wbtw_self_left
+/- warning: wbtw_self_right -> wbtw_self_right is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y y
+but is expected to have type
+ forall (R : Type.{u3}) {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y y
+Case conversion may be inaccurate. Consider using '#align wbtw_self_right wbtw_self_rightₓ'. -/
@[simp]
theorem wbtw_self_right (x y : P) : Wbtw R x y y :=
right_mem_affineSegment _ _ _
#align wbtw_self_right wbtw_self_right
+/- warning: wbtw_self_iff -> wbtw_self_iff is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P}, Iff (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y x) (Eq.{succ u3} P y x)
+but is expected to have type
+ forall (R : Type.{u3}) {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P}, Iff (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y x) (Eq.{succ u1} P y x)
+Case conversion may be inaccurate. Consider using '#align wbtw_self_iff wbtw_self_iffₓ'. -/
@[simp]
theorem wbtw_self_iff {x y : P} : Wbtw R x y x ↔ y = x :=
by
@@ -311,16 +537,34 @@ theorem wbtw_self_iff {x y : P} : Wbtw R x y x ↔ y = x :=
exact wbtw_self_left R x x
#align wbtw_self_iff wbtw_self_iff
+/- warning: not_sbtw_self_left -> not_sbtw_self_left is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Not (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x x y)
+but is expected to have type
+ forall (R : Type.{u3}) {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Not (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x x y)
+Case conversion may be inaccurate. Consider using '#align not_sbtw_self_left not_sbtw_self_leftₓ'. -/
@[simp]
theorem not_sbtw_self_left (x y : P) : ¬Sbtw R x x y := fun h => h.ne_left rfl
#align not_sbtw_self_left not_sbtw_self_left
+/- warning: not_sbtw_self_right -> not_sbtw_self_right is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Not (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y y)
+but is expected to have type
+ forall (R : Type.{u3}) {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Not (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y y)
+Case conversion may be inaccurate. Consider using '#align not_sbtw_self_right not_sbtw_self_rightₓ'. -/
@[simp]
theorem not_sbtw_self_right (x y : P) : ¬Sbtw R x y y := fun h => h.ne_right rfl
#align not_sbtw_self_right not_sbtw_self_right
variable {R}
+/- warning: wbtw.left_ne_right_of_ne_left -> Wbtw.left_ne_right_of_ne_left is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u3} P y x) -> (Ne.{succ u3} P x z)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u1} P y x) -> (Ne.{succ u1} P x z)
+Case conversion may be inaccurate. Consider using '#align wbtw.left_ne_right_of_ne_left Wbtw.left_ne_right_of_ne_leftₓ'. -/
theorem Wbtw.left_ne_right_of_ne_left {x y z : P} (h : Wbtw R x y z) (hne : y ≠ x) : x ≠ z :=
by
rintro rfl
@@ -328,6 +572,12 @@ theorem Wbtw.left_ne_right_of_ne_left {x y z : P} (h : Wbtw R x y z) (hne : y
exact hne h
#align wbtw.left_ne_right_of_ne_left Wbtw.left_ne_right_of_ne_left
+/- warning: wbtw.left_ne_right_of_ne_right -> Wbtw.left_ne_right_of_ne_right is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u3} P y z) -> (Ne.{succ u3} P x z)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u1} P y z) -> (Ne.{succ u1} P x z)
+Case conversion may be inaccurate. Consider using '#align wbtw.left_ne_right_of_ne_right Wbtw.left_ne_right_of_ne_rightₓ'. -/
theorem Wbtw.left_ne_right_of_ne_right {x y z : P} (h : Wbtw R x y z) (hne : y ≠ z) : x ≠ z :=
by
rintro rfl
@@ -335,10 +585,22 @@ theorem Wbtw.left_ne_right_of_ne_right {x y z : P} (h : Wbtw R x y z) (hne : y
exact hne h
#align wbtw.left_ne_right_of_ne_right Wbtw.left_ne_right_of_ne_right
+/- warning: sbtw.left_ne_right -> Sbtw.left_ne_right is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u3} P x z)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u1} P x z)
+Case conversion may be inaccurate. Consider using '#align sbtw.left_ne_right Sbtw.left_ne_rightₓ'. -/
theorem Sbtw.left_ne_right {x y z : P} (h : Sbtw R x y z) : x ≠ z :=
h.Wbtw.left_ne_right_of_ne_left h.2.1
#align sbtw.left_ne_right Sbtw.left_ne_right
+/- warning: sbtw_iff_mem_image_Ioo_and_ne -> sbtw_iff_mem_image_Ioo_and_ne is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {z : P}, Iff (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) (And (Membership.Mem.{u3, u3} P (Set.{u3} P) (Set.hasMem.{u3} P) y (Set.image.{u1, u3} R P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (OrderedRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (OrderedRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) _inst_2 _inst_3 _inst_4) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (OrderedRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 x z)) (Set.Ioo.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))))) (Ne.{succ u3} P x z))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {z : P}, Iff (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) (And (Membership.mem.{u1, u1} P (Set.{u1} P) (Set.instMembershipSet.{u1} P) y (Set.image.{u3, u1} R P (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (OrderedRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (OrderedRing.toRing.{u3} R _inst_1)) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (OrderedRing.toRing.{u3} R _inst_1))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (OrderedRing.toRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (OrderedRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (OrderedRing.toRing.{u3} R _inst_1)) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (OrderedRing.toRing.{u3} R _inst_1))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (OrderedRing.toRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u3, u2, u1} R V P (OrderedRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 _inst_4 x z)) (Set.Ioo.{u3} R (PartialOrder.toPreorder.{u3} R (OrderedRing.toPartialOrder.{u3} R _inst_1)) (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))))))) (Ne.{succ u1} P x z))
+Case conversion may be inaccurate. Consider using '#align sbtw_iff_mem_image_Ioo_and_ne sbtw_iff_mem_image_Ioo_and_neₓ'. -/
theorem sbtw_iff_mem_image_Ioo_and_ne [NoZeroSMulDivisors R V] {x y z : P} :
Sbtw R x y z ↔ y ∈ lineMap x z '' Set.Ioo (0 : R) 1 ∧ x ≠ z :=
by
@@ -352,10 +614,22 @@ theorem sbtw_iff_mem_image_Ioo_and_ne [NoZeroSMulDivisors R V] {x y z : P} :
variable (R)
+/- warning: not_sbtw_self -> not_sbtw_self is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Not (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y x)
+but is expected to have type
+ forall (R : Type.{u3}) {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Not (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y x)
+Case conversion may be inaccurate. Consider using '#align not_sbtw_self not_sbtw_selfₓ'. -/
@[simp]
theorem not_sbtw_self (x y : P) : ¬Sbtw R x y x := fun h => h.left_ne_right rfl
#align not_sbtw_self not_sbtw_self
+/- warning: wbtw_swap_left_iff -> wbtw_swap_left_iff is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} (z : P), Iff (And (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 y x z)) (Eq.{succ u3} P x y)
+but is expected to have type
+ forall (R : Type.{u3}) {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} (z : P), Iff (And (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 y x z)) (Eq.{succ u1} P x y)
+Case conversion may be inaccurate. Consider using '#align wbtw_swap_left_iff wbtw_swap_left_iffₓ'. -/
theorem wbtw_swap_left_iff [NoZeroSMulDivisors R V] {x y : P} (z : P) :
Wbtw R x y z ∧ Wbtw R y x z ↔ x = y := by
constructor
@@ -379,6 +653,12 @@ theorem wbtw_swap_left_iff [NoZeroSMulDivisors R V] {x y : P} (z : P) :
exact ⟨wbtw_self_left _ _ _, wbtw_self_left _ _ _⟩
#align wbtw_swap_left_iff wbtw_swap_left_iff
+/- warning: wbtw_swap_right_iff -> wbtw_swap_right_iff is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] (x : P) {y : P} {z : P}, Iff (And (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x z y)) (Eq.{succ u3} P y z)
+but is expected to have type
+ forall (R : Type.{u3}) {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] (x : P) {y : P} {z : P}, Iff (And (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x z y)) (Eq.{succ u1} P y z)
+Case conversion may be inaccurate. Consider using '#align wbtw_swap_right_iff wbtw_swap_right_iffₓ'. -/
theorem wbtw_swap_right_iff [NoZeroSMulDivisors R V] (x : P) {y z : P} :
Wbtw R x y z ∧ Wbtw R x z y ↔ y = z :=
by
@@ -388,36 +668,84 @@ theorem wbtw_swap_right_iff [NoZeroSMulDivisors R V] (x : P) {y z : P} :
exact wbtw_swap_left_iff R x
#align wbtw_swap_right_iff wbtw_swap_right_iff
+/- warning: wbtw_rotate_iff -> wbtw_rotate_iff is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] (x : P) {y : P} {z : P}, Iff (And (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 z x y)) (Eq.{succ u3} P x y)
+but is expected to have type
+ forall (R : Type.{u3}) {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] (x : P) {y : P} {z : P}, Iff (And (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 z x y)) (Eq.{succ u1} P x y)
+Case conversion may be inaccurate. Consider using '#align wbtw_rotate_iff wbtw_rotate_iffₓ'. -/
theorem wbtw_rotate_iff [NoZeroSMulDivisors R V] (x : P) {y z : P} :
Wbtw R x y z ∧ Wbtw R z x y ↔ x = y := by rw [wbtw_comm, wbtw_swap_right_iff, eq_comm]
#align wbtw_rotate_iff wbtw_rotate_iff
variable {R}
+/- warning: wbtw.swap_left_iff -> Wbtw.swap_left_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Iff (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 y x z) (Eq.{succ u3} P x y))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Iff (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 y x z) (Eq.{succ u1} P x y))
+Case conversion may be inaccurate. Consider using '#align wbtw.swap_left_iff Wbtw.swap_left_iffₓ'. -/
theorem Wbtw.swap_left_iff [NoZeroSMulDivisors R V] {x y z : P} (h : Wbtw R x y z) :
Wbtw R y x z ↔ x = y := by rw [← wbtw_swap_left_iff R z, and_iff_right h]
#align wbtw.swap_left_iff Wbtw.swap_left_iff
+/- warning: wbtw.swap_right_iff -> Wbtw.swap_right_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Iff (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x z y) (Eq.{succ u3} P y z))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Iff (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x z y) (Eq.{succ u1} P y z))
+Case conversion may be inaccurate. Consider using '#align wbtw.swap_right_iff Wbtw.swap_right_iffₓ'. -/
theorem Wbtw.swap_right_iff [NoZeroSMulDivisors R V] {x y z : P} (h : Wbtw R x y z) :
Wbtw R x z y ↔ y = z := by rw [← wbtw_swap_right_iff R x, and_iff_right h]
#align wbtw.swap_right_iff Wbtw.swap_right_iff
+/- warning: wbtw.rotate_iff -> Wbtw.rotate_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Iff (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 z x y) (Eq.{succ u3} P x y))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Iff (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 z x y) (Eq.{succ u1} P x y))
+Case conversion may be inaccurate. Consider using '#align wbtw.rotate_iff Wbtw.rotate_iffₓ'. -/
theorem Wbtw.rotate_iff [NoZeroSMulDivisors R V] {x y z : P} (h : Wbtw R x y z) :
Wbtw R z x y ↔ x = y := by rw [← wbtw_rotate_iff R x, and_iff_right h]
#align wbtw.rotate_iff Wbtw.rotate_iff
+/- warning: sbtw.not_swap_left -> Sbtw.not_swap_left is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Not (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 y x z))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Not (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 y x z))
+Case conversion may be inaccurate. Consider using '#align sbtw.not_swap_left Sbtw.not_swap_leftₓ'. -/
theorem Sbtw.not_swap_left [NoZeroSMulDivisors R V] {x y z : P} (h : Sbtw R x y z) :
¬Wbtw R y x z := fun hs => h.left_ne (h.Wbtw.swap_left_iff.1 hs)
#align sbtw.not_swap_left Sbtw.not_swap_left
+/- warning: sbtw.not_swap_right -> Sbtw.not_swap_right is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Not (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x z y))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Not (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x z y))
+Case conversion may be inaccurate. Consider using '#align sbtw.not_swap_right Sbtw.not_swap_rightₓ'. -/
theorem Sbtw.not_swap_right [NoZeroSMulDivisors R V] {x y z : P} (h : Sbtw R x y z) :
¬Wbtw R x z y := fun hs => h.ne_right (h.Wbtw.swap_right_iff.1 hs)
#align sbtw.not_swap_right Sbtw.not_swap_right
+/- warning: sbtw.not_rotate -> Sbtw.not_rotate is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Not (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 z x y))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Not (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 z x y))
+Case conversion may be inaccurate. Consider using '#align sbtw.not_rotate Sbtw.not_rotateₓ'. -/
theorem Sbtw.not_rotate [NoZeroSMulDivisors R V] {x y z : P} (h : Sbtw R x y z) : ¬Wbtw R z x y :=
fun hs => h.left_ne (h.Wbtw.rotate_iff.1 hs)
#align sbtw.not_rotate Sbtw.not_rotate
+/- warning: wbtw_line_map_iff -> wbtw_lineMap_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {r : R}, Iff (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (OrderedRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (OrderedRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) _inst_2 _inst_3 _inst_4) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (OrderedRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 x y) r) y) (Or (Eq.{succ u3} P x y) (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) r (Set.Icc.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))))))))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {r : R}, Iff (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (OrderedRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (OrderedRing.toRing.{u3} R _inst_1)) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (OrderedRing.toRing.{u3} R _inst_1))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (OrderedRing.toRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (OrderedRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (OrderedRing.toRing.{u3} R _inst_1)) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (OrderedRing.toRing.{u3} R _inst_1))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (OrderedRing.toRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u3, u2, u1} R V P (OrderedRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 _inst_4 x y) r) y) (Or (Eq.{succ u1} P x y) (Membership.mem.{u3, u3} R (Set.{u3} R) (Set.instMembershipSet.{u3} R) r (Set.Icc.{u3} R (PartialOrder.toPreorder.{u3} R (OrderedRing.toPartialOrder.{u3} R _inst_1)) (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))))))))
+Case conversion may be inaccurate. Consider using '#align wbtw_line_map_iff wbtw_lineMap_iffₓ'. -/
@[simp]
theorem wbtw_lineMap_iff [NoZeroSMulDivisors R V] {x y : P} {r : R} :
Wbtw R x (lineMap x y r) y ↔ x = y ∨ r ∈ Set.Icc (0 : R) 1 :=
@@ -426,6 +754,12 @@ theorem wbtw_lineMap_iff [NoZeroSMulDivisors R V] {x y : P} {r : R} :
rw [or_iff_right hxy, Wbtw, affineSegment, (line_map_injective R hxy).mem_set_image]
#align wbtw_line_map_iff wbtw_lineMap_iff
+/- warning: sbtw_line_map_iff -> sbtw_lineMap_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {r : R}, Iff (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (OrderedRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (OrderedRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) _inst_2 _inst_3 _inst_4) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (OrderedRing.toRing.{u1} R _inst_1) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 x y) r) y) (And (Ne.{succ u3} P x y) (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) r (Set.Ioo.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))))))))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {x : P} {y : P} {r : R}, Iff (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (OrderedRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (OrderedRing.toRing.{u3} R _inst_1)) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (OrderedRing.toRing.{u3} R _inst_1))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (OrderedRing.toRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (OrderedRing.toRing.{u3} R _inst_1) (Ring.toAddCommGroup.{u3} R (OrderedRing.toRing.{u3} R _inst_1)) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (OrderedRing.toRing.{u3} R _inst_1))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (OrderedRing.toRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u3, u2, u1} R V P (OrderedRing.toRing.{u3} R _inst_1) _inst_2 _inst_3 _inst_4 x y) r) y) (And (Ne.{succ u1} P x y) (Membership.mem.{u3, u3} R (Set.{u3} R) (Set.instMembershipSet.{u3} R) r (Set.Ioo.{u3} R (PartialOrder.toPreorder.{u3} R (OrderedRing.toPartialOrder.{u3} R _inst_1)) (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))))))))
+Case conversion may be inaccurate. Consider using '#align sbtw_line_map_iff sbtw_lineMap_iffₓ'. -/
@[simp]
theorem sbtw_lineMap_iff [NoZeroSMulDivisors R V] {x y : P} {r : R} :
Sbtw R x (lineMap x y r) y ↔ x ≠ y ∧ r ∈ Set.Ioo (0 : R) 1 :=
@@ -437,18 +771,36 @@ theorem sbtw_lineMap_iff [NoZeroSMulDivisors R V] {x y : P} {r : R} :
omit V
+/- warning: wbtw_mul_sub_add_iff -> wbtw_mul_sub_add_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} [_inst_1 : OrderedRing.{u1} R] [_inst_8 : NoZeroDivisors.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))] {x : R} {y : R} {r : R}, Iff (Wbtw.{u1, u1, u1} R R R _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) x (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) r (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (SubNegMonoid.toHasSub.{u1} R (AddGroup.toSubNegMonoid.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))) y x)) x) y) (Or (Eq.{succ u1} R x y) (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) r (Set.Icc.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))))))))
+but is expected to have type
+ forall {R : Type.{u1}} [_inst_1 : OrderedRing.{u1} R] [_inst_8 : NoZeroDivisors.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1))))] {x : R} {y : R} {r : R}, Iff (Wbtw.{u1, u1, u1} R R R _inst_1 (OrderedAddCommGroup.toAddCommGroup.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1)) (Semiring.toModule.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (Ring.toAddGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) x (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) r (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (Ring.toSub.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) y x)) x) y) (Or (Eq.{succ u1} R x y) (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) r (Set.Icc.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedRing.toPartialOrder.{u1} R _inst_1)) (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)))))) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1))))))))
+Case conversion may be inaccurate. Consider using '#align wbtw_mul_sub_add_iff wbtw_mul_sub_add_iffₓ'. -/
@[simp]
theorem wbtw_mul_sub_add_iff [NoZeroDivisors R] {x y r : R} :
Wbtw R x (r * (y - x) + x) y ↔ x = y ∨ r ∈ Set.Icc (0 : R) 1 :=
wbtw_lineMap_iff
#align wbtw_mul_sub_add_iff wbtw_mul_sub_add_iff
+/- warning: sbtw_mul_sub_add_iff -> sbtw_mul_sub_add_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} [_inst_1 : OrderedRing.{u1} R] [_inst_8 : NoZeroDivisors.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))] {x : R} {y : R} {r : R}, Iff (Sbtw.{u1, u1, u1} R R R _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) x (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) r (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (SubNegMonoid.toHasSub.{u1} R (AddGroup.toSubNegMonoid.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))) y x)) x) y) (And (Ne.{succ u1} R x y) (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) r (Set.Ioo.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))))))))
+but is expected to have type
+ forall {R : Type.{u1}} [_inst_1 : OrderedRing.{u1} R] [_inst_8 : NoZeroDivisors.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1))))] {x : R} {y : R} {r : R}, Iff (Sbtw.{u1, u1, u1} R R R _inst_1 (OrderedAddCommGroup.toAddCommGroup.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1)) (Semiring.toModule.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (Ring.toAddGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) x (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) r (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (Ring.toSub.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) y x)) x) y) (And (Ne.{succ u1} R x y) (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) r (Set.Ioo.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedRing.toPartialOrder.{u1} R _inst_1)) (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)))))) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1))))))))
+Case conversion may be inaccurate. Consider using '#align sbtw_mul_sub_add_iff sbtw_mul_sub_add_iffₓ'. -/
@[simp]
theorem sbtw_mul_sub_add_iff [NoZeroDivisors R] {x y r : R} :
Sbtw R x (r * (y - x) + x) y ↔ x ≠ y ∧ r ∈ Set.Ioo (0 : R) 1 :=
sbtw_lineMap_iff
#align sbtw_mul_sub_add_iff sbtw_mul_sub_add_iff
+/- warning: wbtw_zero_one_iff -> wbtw_zero_one_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} [_inst_1 : OrderedRing.{u1} R] {x : R}, Iff (Wbtw.{u1, u1, u1} R R R _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) x (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) x (Set.Icc.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))))
+but is expected to have type
+ forall {R : Type.{u1}} [_inst_1 : OrderedRing.{u1} R] {x : R}, Iff (Wbtw.{u1, u1, u1} R R R _inst_1 (OrderedAddCommGroup.toAddCommGroup.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1)) (Semiring.toModule.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (Ring.toAddGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)))))) x (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)))))) (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x (Set.Icc.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedRing.toPartialOrder.{u1} R _inst_1)) (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)))))) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)))))))
+Case conversion may be inaccurate. Consider using '#align wbtw_zero_one_iff wbtw_zero_one_iffₓ'. -/
@[simp]
theorem wbtw_zero_one_iff {x : R} : Wbtw R 0 x 1 ↔ x ∈ Set.Icc (0 : R) 1 :=
by
@@ -456,11 +808,23 @@ theorem wbtw_zero_one_iff {x : R} : Wbtw R 0 x 1 ↔ x ∈ Set.Icc (0 : R) 1 :=
simp
#align wbtw_zero_one_iff wbtw_zero_one_iff
+/- warning: wbtw_one_zero_iff -> wbtw_one_zero_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} [_inst_1 : OrderedRing.{u1} R] {x : R}, Iff (Wbtw.{u1, u1, u1} R R R _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))))) x (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))))))) (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) x (Set.Icc.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))))
+but is expected to have type
+ forall {R : Type.{u1}} [_inst_1 : OrderedRing.{u1} R] {x : R}, Iff (Wbtw.{u1, u1, u1} R R R _inst_1 (OrderedAddCommGroup.toAddCommGroup.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1)) (Semiring.toModule.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (Ring.toAddGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1))))) x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1))))))) (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x (Set.Icc.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedRing.toPartialOrder.{u1} R _inst_1)) (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)))))) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)))))))
+Case conversion may be inaccurate. Consider using '#align wbtw_one_zero_iff wbtw_one_zero_iffₓ'. -/
@[simp]
theorem wbtw_one_zero_iff {x : R} : Wbtw R 1 x 0 ↔ x ∈ Set.Icc (0 : R) 1 := by
rw [wbtw_comm, wbtw_zero_one_iff]
#align wbtw_one_zero_iff wbtw_one_zero_iff
+/- warning: sbtw_zero_one_iff -> sbtw_zero_one_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} [_inst_1 : OrderedRing.{u1} R] {x : R}, Iff (Sbtw.{u1, u1, u1} R R R _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) x (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) x (Set.Ioo.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))))
+but is expected to have type
+ forall {R : Type.{u1}} [_inst_1 : OrderedRing.{u1} R] {x : R}, Iff (Sbtw.{u1, u1, u1} R R R _inst_1 (OrderedAddCommGroup.toAddCommGroup.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1)) (Semiring.toModule.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (Ring.toAddGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)))))) x (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)))))) (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x (Set.Ioo.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedRing.toPartialOrder.{u1} R _inst_1)) (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)))))) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)))))))
+Case conversion may be inaccurate. Consider using '#align sbtw_zero_one_iff sbtw_zero_one_iffₓ'. -/
@[simp]
theorem sbtw_zero_one_iff {x : R} : Sbtw R 0 x 1 ↔ x ∈ Set.Ioo (0 : R) 1 :=
by
@@ -470,6 +834,12 @@ theorem sbtw_zero_one_iff {x : R} : Sbtw R 0 x 1 ↔ x ∈ Set.Ioo (0 : R) 1 :=
⟨⟨h.1.le, h.2.le⟩, h.1.ne', h.2.Ne⟩⟩
#align sbtw_zero_one_iff sbtw_zero_one_iff
+/- warning: sbtw_one_zero_iff -> sbtw_one_zero_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} [_inst_1 : OrderedRing.{u1} R] {x : R}, Iff (Sbtw.{u1, u1, u1} R R R _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))))) x (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))))))) (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) x (Set.Ioo.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))))
+but is expected to have type
+ forall {R : Type.{u1}} [_inst_1 : OrderedRing.{u1} R] {x : R}, Iff (Sbtw.{u1, u1, u1} R R R _inst_1 (OrderedAddCommGroup.toAddCommGroup.{u1} R (OrderedRing.toOrderedAddCommGroup.{u1} R _inst_1)) (Semiring.toModule.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (Ring.toAddGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1))))) x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1))))))) (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x (Set.Ioo.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedRing.toPartialOrder.{u1} R _inst_1)) (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)))))) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (OrderedSemiring.toSemiring.{u1} R (OrderedRing.toOrderedSemiring.{u1} R _inst_1)))))))
+Case conversion may be inaccurate. Consider using '#align sbtw_one_zero_iff sbtw_one_zero_iffₓ'. -/
@[simp]
theorem sbtw_one_zero_iff {x : R} : Sbtw R 1 x 0 ↔ x ∈ Set.Ioo (0 : R) 1 := by
rw [sbtw_comm, sbtw_zero_one_iff]
@@ -477,6 +847,12 @@ theorem sbtw_one_zero_iff {x : R} : Sbtw R 1 x 0 ↔ x ∈ Set.Ioo (0 : R) 1 :=
include V
+/- warning: wbtw.trans_left -> Wbtw.trans_left is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z) -> (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x y) -> (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z) -> (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x y) -> (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z)
+Case conversion may be inaccurate. Consider using '#align wbtw.trans_left Wbtw.trans_leftₓ'. -/
theorem Wbtw.trans_left {w x y z : P} (h₁ : Wbtw R w y z) (h₂ : Wbtw R w x y) : Wbtw R w x z :=
by
rcases h₁ with ⟨t₁, ht₁, rfl⟩
@@ -485,12 +861,24 @@ theorem Wbtw.trans_left {w x y z : P} (h₁ : Wbtw R w y z) (h₂ : Wbtw R w x y
simp [line_map_apply, smul_smul]
#align wbtw.trans_left Wbtw.trans_left
+/- warning: wbtw.trans_right -> Wbtw.trans_right is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z) -> (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z) -> (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z)
+Case conversion may be inaccurate. Consider using '#align wbtw.trans_right Wbtw.trans_rightₓ'. -/
theorem Wbtw.trans_right {w x y z : P} (h₁ : Wbtw R w x z) (h₂ : Wbtw R x y z) : Wbtw R w y z :=
by
rw [wbtw_comm] at *
exact h₁.trans_left h₂
#align wbtw.trans_right Wbtw.trans_right
+/- warning: wbtw.trans_sbtw_left -> Wbtw.trans_sbtw_left is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z) -> (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x y) -> (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z) -> (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x y) -> (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z)
+Case conversion may be inaccurate. Consider using '#align wbtw.trans_sbtw_left Wbtw.trans_sbtw_leftₓ'. -/
theorem Wbtw.trans_sbtw_left [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Wbtw R w y z)
(h₂ : Sbtw R w x y) : Sbtw R w x z :=
by
@@ -499,6 +887,12 @@ theorem Wbtw.trans_sbtw_left [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Wbtw
exact h₂.right_ne ((wbtw_swap_right_iff R w).1 ⟨h₁, h₂.wbtw⟩)
#align wbtw.trans_sbtw_left Wbtw.trans_sbtw_left
+/- warning: wbtw.trans_sbtw_right -> Wbtw.trans_sbtw_right is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z) -> (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z) -> (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z)
+Case conversion may be inaccurate. Consider using '#align wbtw.trans_sbtw_right Wbtw.trans_sbtw_rightₓ'. -/
theorem Wbtw.trans_sbtw_right [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Wbtw R w x z)
(h₂ : Sbtw R x y z) : Sbtw R w y z :=
by
@@ -507,16 +901,34 @@ theorem Wbtw.trans_sbtw_right [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Wbt
exact h₁.trans_sbtw_left h₂
#align wbtw.trans_sbtw_right Wbtw.trans_sbtw_right
+/- warning: sbtw.trans_left -> Sbtw.trans_left is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z) -> (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x y) -> (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z) -> (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x y) -> (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z)
+Case conversion may be inaccurate. Consider using '#align sbtw.trans_left Sbtw.trans_leftₓ'. -/
theorem Sbtw.trans_left [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Sbtw R w y z)
(h₂ : Sbtw R w x y) : Sbtw R w x z :=
h₁.Wbtw.trans_sbtw_left h₂
#align sbtw.trans_left Sbtw.trans_left
+/- warning: sbtw.trans_right -> Sbtw.trans_right is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z) -> (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z) -> (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z)
+Case conversion may be inaccurate. Consider using '#align sbtw.trans_right Sbtw.trans_rightₓ'. -/
theorem Sbtw.trans_right [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Sbtw R w x z)
(h₂ : Sbtw R x y z) : Sbtw R w y z :=
h₁.Wbtw.trans_sbtw_right h₂
#align sbtw.trans_right Sbtw.trans_right
+/- warning: wbtw.trans_left_ne -> Wbtw.trans_left_ne is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z) -> (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x y) -> (Ne.{succ u3} P y z) -> (Ne.{succ u3} P x z)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z) -> (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x y) -> (Ne.{succ u1} P y z) -> (Ne.{succ u1} P x z)
+Case conversion may be inaccurate. Consider using '#align wbtw.trans_left_ne Wbtw.trans_left_neₓ'. -/
theorem Wbtw.trans_left_ne [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Wbtw R w y z)
(h₂ : Wbtw R w x y) (h : y ≠ z) : x ≠ z :=
by
@@ -524,6 +936,12 @@ theorem Wbtw.trans_left_ne [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Wbtw R
exact h (h₁.swap_right_iff.1 h₂)
#align wbtw.trans_left_ne Wbtw.trans_left_ne
+/- warning: wbtw.trans_right_ne -> Wbtw.trans_right_ne is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z) -> (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u3} P w x) -> (Ne.{succ u3} P w y)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z) -> (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u1} P w x) -> (Ne.{succ u1} P w y)
+Case conversion may be inaccurate. Consider using '#align wbtw.trans_right_ne Wbtw.trans_right_neₓ'. -/
theorem Wbtw.trans_right_ne [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Wbtw R w x z)
(h₂ : Wbtw R x y z) (h : w ≠ x) : w ≠ y :=
by
@@ -531,16 +949,34 @@ theorem Wbtw.trans_right_ne [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Wbtw
exact h (h₁.swap_left_iff.1 h₂)
#align wbtw.trans_right_ne Wbtw.trans_right_ne
+/- warning: sbtw.trans_wbtw_left_ne -> Sbtw.trans_wbtw_left_ne is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z) -> (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x y) -> (Ne.{succ u3} P x z)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w y z) -> (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x y) -> (Ne.{succ u1} P x z)
+Case conversion may be inaccurate. Consider using '#align sbtw.trans_wbtw_left_ne Sbtw.trans_wbtw_left_neₓ'. -/
theorem Sbtw.trans_wbtw_left_ne [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Sbtw R w y z)
(h₂ : Wbtw R w x y) : x ≠ z :=
h₁.Wbtw.trans_left_ne h₂ h₁.ne_right
#align sbtw.trans_wbtw_left_ne Sbtw.trans_wbtw_left_ne
+/- warning: sbtw.trans_wbtw_right_ne -> Sbtw.trans_wbtw_right_ne is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z) -> (Wbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u3} P w y)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (OrderedSemiring.toSemiring.{u3} R (OrderedRing.toOrderedSemiring.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {w : P} {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 w x z) -> (Wbtw.{u3, u2, u1} R V P _inst_1 _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u1} P w y)
+Case conversion may be inaccurate. Consider using '#align sbtw.trans_wbtw_right_ne Sbtw.trans_wbtw_right_neₓ'. -/
theorem Sbtw.trans_wbtw_right_ne [NoZeroSMulDivisors R V] {w x y z : P} (h₁ : Sbtw R w x z)
(h₂ : Wbtw R x y z) : w ≠ y :=
h₁.Wbtw.trans_right_ne h₂ h₁.left_ne
#align sbtw.trans_wbtw_right_ne Sbtw.trans_wbtw_right_ne
+/- warning: sbtw.affine_combination_of_mem_affine_span_pair -> Sbtw.affineCombination_of_mem_affineSpan_pair is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : OrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_8 : NoZeroDivisors.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))] [_inst_9 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {ι : Type.{u4}} {p : ι -> P}, (AffineIndependent.{u1, u2, u3, u4} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 ι p) -> (forall {w : ι -> R} {w₁ : ι -> R} {w₂ : ι -> R} {s : Finset.{u4} ι}, (Eq.{succ u1} R (Finset.sum.{u1, u4} R ι (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) s (fun (i : ι) => w i)) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) -> (Eq.{succ u1} R (Finset.sum.{u1, u4} R ι (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) s (fun (i : ι) => w₁ i)) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) -> (Eq.{succ u1} R (Finset.sum.{u1, u4} R ι (AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) s (fun (i : ι) => w₂ i)) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))))))) -> (Membership.Mem.{u3, u3} P (AffineSubspace.{u1, u2, u3} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4) (SetLike.hasMem.{u3, u3} (AffineSubspace.{u1, u2, u3} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4) P (AffineSubspace.setLike.{u1, u2, u3} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4)) (coeFn.{max (succ (max u4 u1)) (succ u2) (succ u3), max (succ (max u4 u1)) (succ u3)} (AffineMap.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) => (ι -> R) -> P) (AffineMap.hasCoeToFun.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (Finset.affineCombination.{u1, u2, u3, u4} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 ι s p) w) (affineSpan.{u1, u2, u3} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 (Insert.insert.{u3, u3} P (Set.{u3} P) (Set.hasInsert.{u3} P) (coeFn.{max (succ (max u4 u1)) (succ u2) (succ u3), max (succ (max u4 u1)) (succ u3)} (AffineMap.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) => (ι -> R) -> P) (AffineMap.hasCoeToFun.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (Finset.affineCombination.{u1, u2, u3, u4} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 ι s p) w₁) (Singleton.singleton.{u3, u3} P (Set.{u3} P) (Set.hasSingleton.{u3} P) (coeFn.{max (succ (max u4 u1)) (succ u2) (succ u3), max (succ (max u4 u1)) (succ u3)} (AffineMap.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) => (ι -> R) -> P) (AffineMap.hasCoeToFun.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (Finset.affineCombination.{u1, u2, u3, u4} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 ι s p) w₂))))) -> (forall {i : ι}, (Membership.Mem.{u4, u4} ι (Finset.{u4} ι) (Finset.hasMem.{u4} ι) i s) -> (Sbtw.{u1, u1, u1} R R R _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (w₁ i) (w i) (w₂ i)) -> (Sbtw.{u1, u2, u3} R V P _inst_1 _inst_2 _inst_3 _inst_4 (coeFn.{max (succ (max u4 u1)) (succ u2) (succ u3), max (succ (max u4 u1)) (succ u3)} (AffineMap.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) => (ι -> R) -> P) (AffineMap.hasCoeToFun.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (Finset.affineCombination.{u1, u2, u3, u4} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 ι s p) w₁) (coeFn.{max (succ (max u4 u1)) (succ u2) (succ u3), max (succ (max u4 u1)) (succ u3)} (AffineMap.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) => (ι -> R) -> P) (AffineMap.hasCoeToFun.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (Finset.affineCombination.{u1, u2, u3, u4} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 ι s p) w) (coeFn.{max (succ (max u4 u1)) (succ u2) (succ u3), max (succ (max u4 u1)) (succ u3)} (AffineMap.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) => (ι -> R) -> P) (AffineMap.hasCoeToFun.{u1, max u4 u1, max u4 u1, u2, u3} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u1} R _inst_1) (Pi.addCommGroup.{u4, u1} ι (fun (i : ι) => R) (fun (i : ι) => NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (Pi.module.{u4, u1, u1} ι (fun (i : ι) => R) R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)) (fun (i : ι) => AddCommGroup.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (OrderedRing.toRing.{u1} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (Pi.addTorsor.{u4, u1, u1} ι (fun (i : ι) => R) (fun (i : ι) => AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))) (fun (ᾰ : ι) => R) (fun (i : ι) => addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (OrderedRing.toRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (Finset.affineCombination.{u1, u2, u3, u4} R V P (OrderedRing.toRing.{u1} R _inst_1) _inst_2 _inst_3 _inst_4 ι s p) w₂))))
+but is expected to have type
+ forall {R : Type.{u4}} {V : Type.{u3}} {P : Type.{u1}} [_inst_1 : OrderedRing.{u4} R] [_inst_2 : AddCommGroup.{u3} V] [_inst_3 : Module.{u4, u3} R V (OrderedSemiring.toSemiring.{u4} R (OrderedRing.toOrderedSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2)] [_inst_4 : AddTorsor.{u3, u1} V P (AddCommGroup.toAddGroup.{u3} V _inst_2)] [_inst_8 : NoZeroDivisors.{u4} R (NonUnitalNonAssocRing.toMul.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (OrderedRing.toRing.{u4} R _inst_1)))) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (OrderedSemiring.toSemiring.{u4} R (OrderedRing.toOrderedSemiring.{u4} R _inst_1))))] [_inst_9 : NoZeroSMulDivisors.{u4, u3} R V (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (OrderedSemiring.toSemiring.{u4} R (OrderedRing.toOrderedSemiring.{u4} R _inst_1)))) (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2))))) (SMulZeroClass.toSMul.{u4, u3} R V (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} R V (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (OrderedSemiring.toSemiring.{u4} R (OrderedRing.toOrderedSemiring.{u4} R _inst_1)))) (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} R V (Semiring.toMonoidWithZero.{u4} R (OrderedSemiring.toSemiring.{u4} R (OrderedRing.toOrderedSemiring.{u4} R _inst_1))) (NegZeroClass.toZero.{u3} V (SubNegZeroMonoid.toNegZeroClass.{u3} V (SubtractionMonoid.toSubNegZeroMonoid.{u3} V (SubtractionCommMonoid.toSubtractionMonoid.{u3} V (AddCommGroup.toDivisionAddCommMonoid.{u3} V _inst_2))))) (Module.toMulActionWithZero.{u4, u3} R V (OrderedSemiring.toSemiring.{u4} R (OrderedRing.toOrderedSemiring.{u4} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} V _inst_2) _inst_3))))] {ι : Type.{u2}} {p : ι -> P}, (AffineIndependent.{u4, u3, u1, u2} R V P (OrderedRing.toRing.{u4} R _inst_1) _inst_2 _inst_3 _inst_4 ι p) -> (forall {w : ι -> R} {w₁ : ι -> R} {w₂ : ι -> R} {s : Finset.{u2} ι}, (Eq.{succ u4} R (Finset.sum.{u4, u2} R ι (OrderedCancelAddCommMonoid.toAddCommMonoid.{u4} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u4} R (OrderedRing.toOrderedAddCommGroup.{u4} R _inst_1))) s (fun (i : ι) => w i)) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (OrderedSemiring.toSemiring.{u4} R (OrderedRing.toOrderedSemiring.{u4} R _inst_1)))))) -> (Eq.{succ u4} R (Finset.sum.{u4, u2} R ι (OrderedCancelAddCommMonoid.toAddCommMonoid.{u4} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u4} R (OrderedRing.toOrderedAddCommGroup.{u4} R _inst_1))) s (fun (i : ι) => w₁ i)) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (OrderedSemiring.toSemiring.{u4} R (OrderedRing.toOrderedSemiring.{u4} R _inst_1)))))) -> (Eq.{succ u4} R (Finset.sum.{u4, u2} R ι (OrderedCancelAddCommMonoid.toAddCommMonoid.{u4} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u4} R (OrderedRing.toOrderedAddCommGroup.{u4} R _inst_1))) s (fun (i : ι) => w₂ i)) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (OrderedSemiring.toSemiring.{u4} R (OrderedRing.toOrderedSemiring.{u4} R _inst_1)))))) -> (Membership.mem.{u1, u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) w) (AffineSubspace.{u4, u3, u1} R V ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) w₂) (OrderedRing.toRing.{u4} R _inst_1) _inst_2 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (AffineSubspace.{u4, u3, u1} R V ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) w₂) (OrderedRing.toRing.{u4} R _inst_1) _inst_2 _inst_3 _inst_4) ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) w₂) (AffineSubspace.instSetLikeAffineSubspace.{u4, u3, u1} R V ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) w₂) (OrderedRing.toRing.{u4} R _inst_1) _inst_2 _inst_3 _inst_4)) (FunLike.coe.{max (max (succ (max u4 u2)) (succ u3)) (succ u1), succ (max u4 u2), succ u1} (AffineMap.{u4, max u4 u2, max u4 u2, u3, u1} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u4} R _inst_1) (Pi.addCommGroup.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u4} R (OrderedRing.toRing.{u4} R _inst_1))) (Pi.module.{u2, u4, u4} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => R) R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (OrderedRing.toRing.{u4} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u4, u2} R (OrderedRing.toRing.{u4} R _inst_1) ι) _inst_2 _inst_3 _inst_4) (ι -> R) (fun (_x : ι -> R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) _x) (AffineMap.funLike.{u4, max u4 u2, max u4 u2, u3, u1} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u4} R _inst_1) (Pi.addCommGroup.{u2, u4} ι (fun (i : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u4} R (OrderedRing.toRing.{u4} R _inst_1))) (Pi.module.{u2, u4, u4} ι (fun (i : ι) => R) R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (OrderedRing.toRing.{u4} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u4, u2} R (OrderedRing.toRing.{u4} R _inst_1) ι) _inst_2 _inst_3 _inst_4) (Finset.affineCombination.{u4, u3, u1, u2} R V P (OrderedRing.toRing.{u4} R _inst_1) _inst_2 _inst_3 _inst_4 ι s p) w) (affineSpan.{u4, u3, u1} R V ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) w₂) (OrderedRing.toRing.{u4} R _inst_1) _inst_2 _inst_3 _inst_4 (Insert.insert.{u1, u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) w₁) (Set.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) w₂)) (Set.instInsertSet.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) w₂)) (FunLike.coe.{max (max (succ (max u4 u2)) (succ u3)) (succ u1), succ (max u4 u2), succ u1} (AffineMap.{u4, max u4 u2, max u4 u2, u3, u1} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u4} R _inst_1) (Pi.addCommGroup.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u4} R (OrderedRing.toRing.{u4} R _inst_1))) (Pi.module.{u2, u4, u4} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => R) R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (OrderedRing.toRing.{u4} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u4, u2} R (OrderedRing.toRing.{u4} R _inst_1) ι) _inst_2 _inst_3 _inst_4) (ι -> R) (fun (_x : ι -> R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) _x) (AffineMap.funLike.{u4, max u4 u2, max u4 u2, u3, u1} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u4} R _inst_1) (Pi.addCommGroup.{u2, u4} ι (fun (i : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u4} R (OrderedRing.toRing.{u4} R _inst_1))) (Pi.module.{u2, u4, u4} ι (fun (i : ι) => R) R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (OrderedRing.toRing.{u4} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u4, u2} R (OrderedRing.toRing.{u4} R _inst_1) ι) _inst_2 _inst_3 _inst_4) (Finset.affineCombination.{u4, u3, u1, u2} R V P (OrderedRing.toRing.{u4} R _inst_1) _inst_2 _inst_3 _inst_4 ι s p) w₁) (Singleton.singleton.{u1, u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) w₂) (Set.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) w₂)) (Set.instSingletonSet.{u1} ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) w₂)) (FunLike.coe.{max (max (succ (max u4 u2)) (succ u3)) (succ u1), succ (max u4 u2), succ u1} (AffineMap.{u4, max u4 u2, max u4 u2, u3, u1} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u4} R _inst_1) (Pi.addCommGroup.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u4} R (OrderedRing.toRing.{u4} R _inst_1))) (Pi.module.{u2, u4, u4} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => R) R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (OrderedRing.toRing.{u4} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u4, u2} R (OrderedRing.toRing.{u4} R _inst_1) ι) _inst_2 _inst_3 _inst_4) (ι -> R) (fun (_x : ι -> R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) _x) (AffineMap.funLike.{u4, max u4 u2, max u4 u2, u3, u1} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u4} R _inst_1) (Pi.addCommGroup.{u2, u4} ι (fun (i : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u4} R (OrderedRing.toRing.{u4} R _inst_1))) (Pi.module.{u2, u4, u4} ι (fun (i : ι) => R) R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (OrderedRing.toRing.{u4} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u4, u2} R (OrderedRing.toRing.{u4} R _inst_1) ι) _inst_2 _inst_3 _inst_4) (Finset.affineCombination.{u4, u3, u1, u2} R V P (OrderedRing.toRing.{u4} R _inst_1) _inst_2 _inst_3 _inst_4 ι s p) w₂))))) -> (forall {i : ι}, (Membership.mem.{u2, u2} ι (Finset.{u2} ι) (Finset.instMembershipFinset.{u2} ι) i s) -> (Sbtw.{u4, u4, u4} R R R _inst_1 (OrderedAddCommGroup.toAddCommGroup.{u4} R (OrderedRing.toOrderedAddCommGroup.{u4} R _inst_1)) (Semiring.toModule.{u4} R (OrderedSemiring.toSemiring.{u4} R (OrderedRing.toOrderedSemiring.{u4} R _inst_1))) (addGroupIsAddTorsor.{u4} R (AddGroupWithOne.toAddGroup.{u4} R (Ring.toAddGroupWithOne.{u4} R (OrderedRing.toRing.{u4} R _inst_1)))) (w₁ i) (w i) (w₂ i)) -> (Sbtw.{u4, u3, u1} R V ((fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) w₁) _inst_1 _inst_2 _inst_3 _inst_4 (FunLike.coe.{max (max (succ (max u4 u2)) (succ u3)) (succ u1), succ (max u4 u2), succ u1} (AffineMap.{u4, max u4 u2, max u4 u2, u3, u1} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u4} R _inst_1) (Pi.addCommGroup.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u4} R (OrderedRing.toRing.{u4} R _inst_1))) (Pi.module.{u2, u4, u4} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => R) R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (OrderedRing.toRing.{u4} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u4, u2} R (OrderedRing.toRing.{u4} R _inst_1) ι) _inst_2 _inst_3 _inst_4) (ι -> R) (fun (_x : ι -> R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) _x) (AffineMap.funLike.{u4, max u4 u2, max u4 u2, u3, u1} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u4} R _inst_1) (Pi.addCommGroup.{u2, u4} ι (fun (i : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u4} R (OrderedRing.toRing.{u4} R _inst_1))) (Pi.module.{u2, u4, u4} ι (fun (i : ι) => R) R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (OrderedRing.toRing.{u4} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u4, u2} R (OrderedRing.toRing.{u4} R _inst_1) ι) _inst_2 _inst_3 _inst_4) (Finset.affineCombination.{u4, u3, u1, u2} R V P (OrderedRing.toRing.{u4} R _inst_1) _inst_2 _inst_3 _inst_4 ι s p) w₁) (FunLike.coe.{max (max (succ (max u4 u2)) (succ u3)) (succ u1), succ (max u4 u2), succ u1} (AffineMap.{u4, max u4 u2, max u4 u2, u3, u1} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u4} R _inst_1) (Pi.addCommGroup.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u4} R (OrderedRing.toRing.{u4} R _inst_1))) (Pi.module.{u2, u4, u4} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => R) R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (OrderedRing.toRing.{u4} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u4, u2} R (OrderedRing.toRing.{u4} R _inst_1) ι) _inst_2 _inst_3 _inst_4) (ι -> R) (fun (_x : ι -> R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) _x) (AffineMap.funLike.{u4, max u4 u2, max u4 u2, u3, u1} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u4} R _inst_1) (Pi.addCommGroup.{u2, u4} ι (fun (i : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u4} R (OrderedRing.toRing.{u4} R _inst_1))) (Pi.module.{u2, u4, u4} ι (fun (i : ι) => R) R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (OrderedRing.toRing.{u4} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u4, u2} R (OrderedRing.toRing.{u4} R _inst_1) ι) _inst_2 _inst_3 _inst_4) (Finset.affineCombination.{u4, u3, u1, u2} R V P (OrderedRing.toRing.{u4} R _inst_1) _inst_2 _inst_3 _inst_4 ι s p) w) (FunLike.coe.{max (max (succ (max u4 u2)) (succ u3)) (succ u1), succ (max u4 u2), succ u1} (AffineMap.{u4, max u4 u2, max u4 u2, u3, u1} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u4} R _inst_1) (Pi.addCommGroup.{u2, u4} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u4} R (OrderedRing.toRing.{u4} R _inst_1))) (Pi.module.{u2, u4, u4} ι (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.Combination._hyg.3598 : ι) => R) R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (OrderedRing.toRing.{u4} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u4, u2} R (OrderedRing.toRing.{u4} R _inst_1) ι) _inst_2 _inst_3 _inst_4) (ι -> R) (fun (_x : ι -> R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : ι -> R) => P) _x) (AffineMap.funLike.{u4, max u4 u2, max u4 u2, u3, u1} R (ι -> R) (ι -> R) V P (OrderedRing.toRing.{u4} R _inst_1) (Pi.addCommGroup.{u2, u4} ι (fun (i : ι) => R) (fun (i : ι) => Ring.toAddCommGroup.{u4} R (OrderedRing.toRing.{u4} R _inst_1))) (Pi.module.{u2, u4, u4} ι (fun (i : ι) => R) R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (OrderedRing.toRing.{u4} R _inst_1))))) (fun (i : ι) => Semiring.toModule.{u4} R (Ring.toSemiring.{u4} R (OrderedRing.toRing.{u4} R _inst_1)))) (Finset.instAddTorsorForAllAddGroupToAddGroupToAddGroupWithOne.{u4, u2} R (OrderedRing.toRing.{u4} R _inst_1) ι) _inst_2 _inst_3 _inst_4) (Finset.affineCombination.{u4, u3, u1, u2} R V P (OrderedRing.toRing.{u4} R _inst_1) _inst_2 _inst_3 _inst_4 ι s p) w₂))))
+Case conversion may be inaccurate. Consider using '#align sbtw.affine_combination_of_mem_affine_span_pair Sbtw.affineCombination_of_mem_affineSpan_pairₓ'. -/
theorem Sbtw.affineCombination_of_mem_affineSpan_pair [NoZeroDivisors R] [NoZeroSMulDivisors R V]
{ι : Type _} {p : ι → P} (ha : AffineIndependent R p) {w w₁ w₂ : ι → R} {s : Finset ι}
(hw : (∑ i in s, w i) = 1) (hw₁ : (∑ i in s, w₁ i) = 1) (hw₂ : (∑ i in s, w₂ i) = 1)
@@ -577,6 +1013,12 @@ include V
variable {R}
+/- warning: wbtw.same_ray_vsub -> Wbtw.sameRay_vsub is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : StrictOrderedCommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (StrictOrderedRing.toRing.{u1} R (StrictOrderedCommRing.toStrictOrderedRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (StrictOrderedCommRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 x y z) -> (SameRay.{u1, u2} R (StrictOrderedCommRing.toStrictOrderedCommSemiring.{u1} R _inst_1) V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) y x) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) z y))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : StrictOrderedCommRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (StrictOrderedSemiring.toSemiring.{u3} R (StrictOrderedCommSemiring.toStrictOrderedSemiring.{u3} R (StrictOrderedCommRing.toStrictOrderedCommSemiring.{u3} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 x y z) -> (SameRay.{u3, u2} R (StrictOrderedCommRing.toStrictOrderedCommSemiring.{u3} R _inst_1) V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) y x) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) z y))
+Case conversion may be inaccurate. Consider using '#align wbtw.same_ray_vsub Wbtw.sameRay_vsubₓ'. -/
theorem Wbtw.sameRay_vsub {x y z : P} (h : Wbtw R x y z) : SameRay R (y -ᵥ x) (z -ᵥ y) :=
by
rcases h with ⟨t, ⟨ht0, ht1⟩, rfl⟩
@@ -588,12 +1030,24 @@ theorem Wbtw.sameRay_vsub {x y z : P} (h : Wbtw R x y z) : SameRay R (y -ᵥ x)
ring_nf
#align wbtw.same_ray_vsub Wbtw.sameRay_vsub
+/- warning: wbtw.same_ray_vsub_left -> Wbtw.sameRay_vsub_left is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : StrictOrderedCommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (StrictOrderedRing.toRing.{u1} R (StrictOrderedCommRing.toStrictOrderedRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (StrictOrderedCommRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 x y z) -> (SameRay.{u1, u2} R (StrictOrderedCommRing.toStrictOrderedCommSemiring.{u1} R _inst_1) V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) y x) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) z x))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : StrictOrderedCommRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (StrictOrderedSemiring.toSemiring.{u3} R (StrictOrderedCommSemiring.toStrictOrderedSemiring.{u3} R (StrictOrderedCommRing.toStrictOrderedCommSemiring.{u3} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 x y z) -> (SameRay.{u3, u2} R (StrictOrderedCommRing.toStrictOrderedCommSemiring.{u3} R _inst_1) V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) y x) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) z x))
+Case conversion may be inaccurate. Consider using '#align wbtw.same_ray_vsub_left Wbtw.sameRay_vsub_leftₓ'. -/
theorem Wbtw.sameRay_vsub_left {x y z : P} (h : Wbtw R x y z) : SameRay R (y -ᵥ x) (z -ᵥ x) :=
by
rcases h with ⟨t, ⟨ht0, ht1⟩, rfl⟩
simpa [line_map_apply] using SameRay.sameRay_nonneg_smul_left (z -ᵥ x) ht0
#align wbtw.same_ray_vsub_left Wbtw.sameRay_vsub_left
+/- warning: wbtw.same_ray_vsub_right -> Wbtw.sameRay_vsub_right is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : StrictOrderedCommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (StrictOrderedRing.toRing.{u1} R (StrictOrderedCommRing.toStrictOrderedRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (StrictOrderedCommRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 x y z) -> (SameRay.{u1, u2} R (StrictOrderedCommRing.toStrictOrderedCommSemiring.{u1} R _inst_1) V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) z x) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) z y))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : StrictOrderedCommRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (StrictOrderedSemiring.toSemiring.{u3} R (StrictOrderedCommSemiring.toStrictOrderedSemiring.{u3} R (StrictOrderedCommRing.toStrictOrderedCommSemiring.{u3} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 x y z) -> (SameRay.{u3, u2} R (StrictOrderedCommRing.toStrictOrderedCommSemiring.{u3} R _inst_1) V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) z x) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) z y))
+Case conversion may be inaccurate. Consider using '#align wbtw.same_ray_vsub_right Wbtw.sameRay_vsub_rightₓ'. -/
theorem Wbtw.sameRay_vsub_right {x y z : P} (h : Wbtw R x y z) : SameRay R (z -ᵥ x) (z -ᵥ y) :=
by
rcases h with ⟨t, ⟨ht0, ht1⟩, rfl⟩
@@ -611,6 +1065,12 @@ include V
variable {R}
+/- warning: sbtw_of_sbtw_of_sbtw_of_mem_affine_span_pair -> sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedRing.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_5 : NoZeroSMulDivisors.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))) (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {t : Affine.Triangle.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4} {i₁ : Fin (OfNat.ofNat.{0} Nat 3 (OfNat.mk.{0} Nat 3 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))} {i₂ : Fin (OfNat.ofNat.{0} Nat 3 (OfNat.mk.{0} Nat 3 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))} {i₃ : Fin (OfNat.ofNat.{0} Nat 3 (OfNat.mk.{0} Nat 3 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))}, (Ne.{1} (Fin (OfNat.ofNat.{0} Nat 3 (OfNat.mk.{0} Nat 3 (bit1.{0} Nat Nat.hasOne Nat.hasAdd (One.one.{0} Nat Nat.hasOne))))) i₁ i₂) -> (forall {p₁ : P} {p₂ : P} {p : P}, (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 (Affine.Simplex.points.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) t i₂) p₁ (Affine.Simplex.points.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) t i₃)) -> (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 (Affine.Simplex.points.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) t i₁) p₂ (Affine.Simplex.points.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) t i₃)) -> (Membership.Mem.{u3, u3} P (AffineSubspace.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4) (SetLike.hasMem.{u3, u3} (AffineSubspace.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4) P (AffineSubspace.setLike.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4)) p (affineSpan.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 (Insert.insert.{u3, u3} P (Set.{u3} P) (Set.hasInsert.{u3} P) (Affine.Simplex.points.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) t i₁) (Singleton.singleton.{u3, u3} P (Set.{u3} P) (Set.hasSingleton.{u3} P) p₁)))) -> (Membership.Mem.{u3, u3} P (AffineSubspace.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4) (SetLike.hasMem.{u3, u3} (AffineSubspace.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4) P (AffineSubspace.setLike.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4)) p (affineSpan.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 (Insert.insert.{u3, u3} P (Set.{u3} P) (Set.hasInsert.{u3} P) (Affine.Simplex.points.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) t i₂) (Singleton.singleton.{u3, u3} P (Set.{u3} P) (Set.hasSingleton.{u3} P) p₂)))) -> (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 (Affine.Simplex.points.{u1, u2, u3} R V P (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{0} Nat 2 (OfNat.mk.{0} Nat 2 (bit0.{0} Nat Nat.hasAdd (One.one.{0} Nat Nat.hasOne)))) t i₁) p p₁))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedRing.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedRing.toLinearOrderedSemiring.{u3} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] [_inst_5 : NoZeroSMulDivisors.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedRing.toLinearOrderedSemiring.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedRing.toLinearOrderedSemiring.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedRing.toLinearOrderedSemiring.{u3} R _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedRing.toLinearOrderedSemiring.{u3} R _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))] {t : Affine.Triangle.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4} {i₁ : Fin (OfNat.ofNat.{0} Nat 3 (instOfNatNat 3))} {i₂ : Fin (OfNat.ofNat.{0} Nat 3 (instOfNatNat 3))} {i₃ : Fin (OfNat.ofNat.{0} Nat 3 (instOfNatNat 3))}, (Ne.{1} (Fin (OfNat.ofNat.{0} Nat 3 (instOfNatNat 3))) i₁ i₂) -> (forall {p₁ : P} {p₂ : P} {p : P}, (Sbtw.{u3, u2, u1} R V P (StrictOrderedRing.toOrderedRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 (Affine.Simplex.points.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)) t i₂) p₁ (Affine.Simplex.points.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)) t i₃)) -> (Sbtw.{u3, u2, u1} R V P (StrictOrderedRing.toOrderedRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 (Affine.Simplex.points.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)) t i₁) p₂ (Affine.Simplex.points.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)) t i₃)) -> (Membership.mem.{u1, u1} P (AffineSubspace.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (AffineSubspace.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4) P (AffineSubspace.instSetLikeAffineSubspace.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4)) p (affineSpan.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 (Insert.insert.{u1, u1} P (Set.{u1} P) (Set.instInsertSet.{u1} P) (Affine.Simplex.points.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)) t i₁) (Singleton.singleton.{u1, u1} P (Set.{u1} P) (Set.instSingletonSet.{u1} P) p₁)))) -> (Membership.mem.{u1, u1} P (AffineSubspace.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (AffineSubspace.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4) P (AffineSubspace.instSetLikeAffineSubspace.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4)) p (affineSpan.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 (Insert.insert.{u1, u1} P (Set.{u1} P) (Set.instInsertSet.{u1} P) (Affine.Simplex.points.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)) t i₂) (Singleton.singleton.{u1, u1} P (Set.{u1} P) (Set.instSingletonSet.{u1} P) p₂)))) -> (Sbtw.{u3, u2, u1} R V P (StrictOrderedRing.toOrderedRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 (Affine.Simplex.points.{u3, u2, u1} R V P (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 (OfNat.ofNat.{0} Nat 2 (instOfNatNat 2)) t i₁) p p₁))
+Case conversion may be inaccurate. Consider using '#align sbtw_of_sbtw_of_sbtw_of_mem_affine_span_pair sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pairₓ'. -/
/-- Suppose lines from two vertices of a triangle to interior points of the opposite side meet at
`p`. Then `p` lies in the interior of the first (and by symmetry the other) segment from a
vertex to the point on the opposite side. -/
@@ -708,6 +1168,12 @@ include V
variable {R}
+/- warning: wbtw_iff_left_eq_or_right_mem_image_Ici -> wbtw_iff_left_eq_or_right_mem_image_Ici is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, Iff (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) (Or (Eq.{succ u3} P x y) (Membership.Mem.{u3, u3} P (Set.{u3} P) (Set.hasMem.{u3} P) z (Set.image.{u1, u3} R P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 x y)) (Set.Ici.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))))))))))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, Iff (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) (Or (Eq.{succ u1} P x y) (Membership.mem.{u1, u1} P (Set.{u1} P) (Set.instMembershipSet.{u1} P) z (Set.image.{u3, u1} R P (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 x y)) (Set.Ici.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1))))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))))))))))
+Case conversion may be inaccurate. Consider using '#align wbtw_iff_left_eq_or_right_mem_image_Ici wbtw_iff_left_eq_or_right_mem_image_Iciₓ'. -/
theorem wbtw_iff_left_eq_or_right_mem_image_Ici {x y z : P} :
Wbtw R x y z ↔ x = y ∨ z ∈ lineMap x y '' Set.Ici (1 : R) :=
by
@@ -727,11 +1193,23 @@ theorem wbtw_iff_left_eq_or_right_mem_image_Ici {x y z : P} :
rw [inv_mul_cancel (one_pos.trans_le hr).ne', one_smul, vsub_vadd]
#align wbtw_iff_left_eq_or_right_mem_image_Ici wbtw_iff_left_eq_or_right_mem_image_Ici
+/- warning: wbtw.right_mem_image_Ici_of_left_ne -> Wbtw.right_mem_image_Ici_of_left_ne is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u3} P x y) -> (Membership.Mem.{u3, u3} P (Set.{u3} P) (Set.hasMem.{u3} P) z (Set.image.{u1, u3} R P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 x y)) (Set.Ici.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))))))))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u1} P x y) -> (Membership.mem.{u1, u1} P (Set.{u1} P) (Set.instMembershipSet.{u1} P) z (Set.image.{u3, u1} R P (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 x y)) (Set.Ici.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1))))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))))))))
+Case conversion may be inaccurate. Consider using '#align wbtw.right_mem_image_Ici_of_left_ne Wbtw.right_mem_image_Ici_of_left_neₓ'. -/
theorem Wbtw.right_mem_image_Ici_of_left_ne {x y z : P} (h : Wbtw R x y z) (hne : x ≠ y) :
z ∈ lineMap x y '' Set.Ici (1 : R) :=
(wbtw_iff_left_eq_or_right_mem_image_Ici.1 h).resolve_left hne
#align wbtw.right_mem_image_Ici_of_left_ne Wbtw.right_mem_image_Ici_of_left_ne
+/- warning: wbtw.right_mem_affine_span_of_left_ne -> Wbtw.right_mem_affineSpan_of_left_ne is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u3} P x y) -> (Membership.Mem.{u3, u3} P (AffineSubspace.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4) (SetLike.hasMem.{u3, u3} (AffineSubspace.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4) P (AffineSubspace.setLike.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4)) z (affineSpan.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 (Insert.insert.{u3, u3} P (Set.{u3} P) (Set.hasInsert.{u3} P) x (Singleton.singleton.{u3, u3} P (Set.{u3} P) (Set.hasSingleton.{u3} P) y))))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u1} P x y) -> (Membership.mem.{u1, u1} P (AffineSubspace.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (AffineSubspace.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4) P (AffineSubspace.instSetLikeAffineSubspace.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4)) z (affineSpan.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 (Insert.insert.{u1, u1} P (Set.{u1} P) (Set.instInsertSet.{u1} P) x (Singleton.singleton.{u1, u1} P (Set.{u1} P) (Set.instSingletonSet.{u1} P) y))))
+Case conversion may be inaccurate. Consider using '#align wbtw.right_mem_affine_span_of_left_ne Wbtw.right_mem_affineSpan_of_left_neₓ'. -/
theorem Wbtw.right_mem_affineSpan_of_left_ne {x y z : P} (h : Wbtw R x y z) (hne : x ≠ y) :
z ∈ line[R, x, y] :=
by
@@ -739,7 +1217,13 @@ theorem Wbtw.right_mem_affineSpan_of_left_ne {x y z : P} (h : Wbtw R x y z) (hne
exact line_map_mem_affine_span_pair _ _ _
#align wbtw.right_mem_affine_span_of_left_ne Wbtw.right_mem_affineSpan_of_left_ne
-theorem sbtw_iff_left_ne_and_right_mem_image_IoI {x y z : P} :
+/- warning: sbtw_iff_left_ne_and_right_mem_image_IoI -> sbtw_iff_left_ne_and_right_mem_image_Ioi is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, Iff (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) (And (Ne.{succ u3} P x y) (Membership.Mem.{u3, u3} P (Set.{u3} P) (Set.hasMem.{u3} P) z (Set.image.{u1, u3} R P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 x y)) (Set.Ioi.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))))))))))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, Iff (Sbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) (And (Ne.{succ u1} P x y) (Membership.mem.{u1, u1} P (Set.{u1} P) (Set.instMembershipSet.{u1} P) z (Set.image.{u3, u1} R P (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 x y)) (Set.Ioi.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1))))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))))))))))
+Case conversion may be inaccurate. Consider using '#align sbtw_iff_left_ne_and_right_mem_image_IoI sbtw_iff_left_ne_and_right_mem_image_Ioiₓ'. -/
+theorem sbtw_iff_left_ne_and_right_mem_image_Ioi {x y z : P} :
Sbtw R x y z ↔ x ≠ y ∧ z ∈ lineMap x y '' Set.Ioi (1 : R) :=
by
refine' ⟨fun h => ⟨h.left_ne, _⟩, fun h => _⟩
@@ -759,46 +1243,100 @@ theorem sbtw_iff_left_ne_and_right_mem_image_IoI {x y z : P} :
nth_rw 1 [← one_smul R (y -ᵥ x)]
rw [← sub_smul, smul_ne_zero_iff, vsub_ne_zero, sub_ne_zero]
exact ⟨hr.ne, hne.symm⟩
-#align sbtw_iff_left_ne_and_right_mem_image_IoI sbtw_iff_left_ne_and_right_mem_image_IoI
-
+#align sbtw_iff_left_ne_and_right_mem_image_IoI sbtw_iff_left_ne_and_right_mem_image_Ioi
+
+/- warning: sbtw.right_mem_image_Ioi -> Sbtw.right_mem_image_Ioi is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Membership.Mem.{u3, u3} P (Set.{u3} P) (Set.hasMem.{u3} P) z (Set.image.{u1, u3} R P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 x y)) (Set.Ioi.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))))))))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Membership.mem.{u1, u1} P (Set.{u1} P) (Set.instMembershipSet.{u1} P) z (Set.image.{u3, u1} R P (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 x y)) (Set.Ioi.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1))))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))))))))
+Case conversion may be inaccurate. Consider using '#align sbtw.right_mem_image_Ioi Sbtw.right_mem_image_Ioiₓ'. -/
theorem Sbtw.right_mem_image_Ioi {x y z : P} (h : Sbtw R x y z) :
z ∈ lineMap x y '' Set.Ioi (1 : R) :=
- (sbtw_iff_left_ne_and_right_mem_image_IoI.1 h).2
+ (sbtw_iff_left_ne_and_right_mem_image_Ioi.1 h).2
#align sbtw.right_mem_image_Ioi Sbtw.right_mem_image_Ioi
+/- warning: sbtw.right_mem_affine_span -> Sbtw.right_mem_affineSpan is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Membership.Mem.{u3, u3} P (AffineSubspace.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4) (SetLike.hasMem.{u3, u3} (AffineSubspace.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4) P (AffineSubspace.setLike.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4)) z (affineSpan.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 (Insert.insert.{u3, u3} P (Set.{u3} P) (Set.hasInsert.{u3} P) x (Singleton.singleton.{u3, u3} P (Set.{u3} P) (Set.hasSingleton.{u3} P) y))))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Membership.mem.{u1, u1} P (AffineSubspace.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (AffineSubspace.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4) P (AffineSubspace.instSetLikeAffineSubspace.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4)) z (affineSpan.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 (Insert.insert.{u1, u1} P (Set.{u1} P) (Set.instInsertSet.{u1} P) x (Singleton.singleton.{u1, u1} P (Set.{u1} P) (Set.instSingletonSet.{u1} P) y))))
+Case conversion may be inaccurate. Consider using '#align sbtw.right_mem_affine_span Sbtw.right_mem_affineSpanₓ'. -/
theorem Sbtw.right_mem_affineSpan {x y z : P} (h : Sbtw R x y z) : z ∈ line[R, x, y] :=
h.Wbtw.right_mem_affineSpan_of_left_ne h.left_ne
#align sbtw.right_mem_affine_span Sbtw.right_mem_affineSpan
+/- warning: wbtw_iff_right_eq_or_left_mem_image_Ici -> wbtw_iff_right_eq_or_left_mem_image_Ici is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, Iff (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) (Or (Eq.{succ u3} P z y) (Membership.Mem.{u3, u3} P (Set.{u3} P) (Set.hasMem.{u3} P) x (Set.image.{u1, u3} R P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 z y)) (Set.Ici.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))))))))))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, Iff (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) (Or (Eq.{succ u1} P z y) (Membership.mem.{u1, u1} P (Set.{u1} P) (Set.instMembershipSet.{u1} P) x (Set.image.{u3, u1} R P (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 z y)) (Set.Ici.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1))))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))))))))))
+Case conversion may be inaccurate. Consider using '#align wbtw_iff_right_eq_or_left_mem_image_Ici wbtw_iff_right_eq_or_left_mem_image_Iciₓ'. -/
theorem wbtw_iff_right_eq_or_left_mem_image_Ici {x y z : P} :
Wbtw R x y z ↔ z = y ∨ x ∈ lineMap z y '' Set.Ici (1 : R) := by
rw [wbtw_comm, wbtw_iff_left_eq_or_right_mem_image_Ici]
#align wbtw_iff_right_eq_or_left_mem_image_Ici wbtw_iff_right_eq_or_left_mem_image_Ici
+/- warning: wbtw.left_mem_image_Ici_of_right_ne -> Wbtw.left_mem_image_Ici_of_right_ne is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u3} P z y) -> (Membership.Mem.{u3, u3} P (Set.{u3} P) (Set.hasMem.{u3} P) x (Set.image.{u1, u3} R P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 z y)) (Set.Ici.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))))))))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u1} P z y) -> (Membership.mem.{u1, u1} P (Set.{u1} P) (Set.instMembershipSet.{u1} P) x (Set.image.{u3, u1} R P (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 z y)) (Set.Ici.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1))))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))))))))
+Case conversion may be inaccurate. Consider using '#align wbtw.left_mem_image_Ici_of_right_ne Wbtw.left_mem_image_Ici_of_right_neₓ'. -/
theorem Wbtw.left_mem_image_Ici_of_right_ne {x y z : P} (h : Wbtw R x y z) (hne : z ≠ y) :
x ∈ lineMap z y '' Set.Ici (1 : R) :=
h.symm.right_mem_image_Ici_of_left_ne hne
#align wbtw.left_mem_image_Ici_of_right_ne Wbtw.left_mem_image_Ici_of_right_ne
+/- warning: wbtw.left_mem_affine_span_of_right_ne -> Wbtw.left_mem_affineSpan_of_right_ne is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u3} P z y) -> (Membership.Mem.{u3, u3} P (AffineSubspace.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4) (SetLike.hasMem.{u3, u3} (AffineSubspace.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4) P (AffineSubspace.setLike.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4)) x (affineSpan.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 (Insert.insert.{u3, u3} P (Set.{u3} P) (Set.hasInsert.{u3} P) z (Singleton.singleton.{u3, u3} P (Set.{u3} P) (Set.hasSingleton.{u3} P) y))))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Ne.{succ u1} P z y) -> (Membership.mem.{u1, u1} P (AffineSubspace.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (AffineSubspace.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4) P (AffineSubspace.instSetLikeAffineSubspace.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4)) x (affineSpan.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 (Insert.insert.{u1, u1} P (Set.{u1} P) (Set.instInsertSet.{u1} P) z (Singleton.singleton.{u1, u1} P (Set.{u1} P) (Set.instSingletonSet.{u1} P) y))))
+Case conversion may be inaccurate. Consider using '#align wbtw.left_mem_affine_span_of_right_ne Wbtw.left_mem_affineSpan_of_right_neₓ'. -/
theorem Wbtw.left_mem_affineSpan_of_right_ne {x y z : P} (h : Wbtw R x y z) (hne : z ≠ y) :
x ∈ line[R, z, y] :=
h.symm.right_mem_affineSpan_of_left_ne hne
#align wbtw.left_mem_affine_span_of_right_ne Wbtw.left_mem_affineSpan_of_right_ne
-theorem sbtw_iff_right_ne_and_left_mem_image_IoI {x y z : P} :
+/- warning: sbtw_iff_right_ne_and_left_mem_image_IoI -> sbtw_iff_right_ne_and_left_mem_image_Ioi is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, Iff (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) (And (Ne.{succ u3} P z y) (Membership.Mem.{u3, u3} P (Set.{u3} P) (Set.hasMem.{u3} P) x (Set.image.{u1, u3} R P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 z y)) (Set.Ioi.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))))))))))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, Iff (Sbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) (And (Ne.{succ u1} P z y) (Membership.mem.{u1, u1} P (Set.{u1} P) (Set.instMembershipSet.{u1} P) x (Set.image.{u3, u1} R P (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 z y)) (Set.Ioi.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1))))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))))))))))
+Case conversion may be inaccurate. Consider using '#align sbtw_iff_right_ne_and_left_mem_image_IoI sbtw_iff_right_ne_and_left_mem_image_Ioiₓ'. -/
+theorem sbtw_iff_right_ne_and_left_mem_image_Ioi {x y z : P} :
Sbtw R x y z ↔ z ≠ y ∧ x ∈ lineMap z y '' Set.Ioi (1 : R) := by
- rw [sbtw_comm, sbtw_iff_left_ne_and_right_mem_image_IoI]
-#align sbtw_iff_right_ne_and_left_mem_image_IoI sbtw_iff_right_ne_and_left_mem_image_IoI
-
+ rw [sbtw_comm, sbtw_iff_left_ne_and_right_mem_image_Ioi]
+#align sbtw_iff_right_ne_and_left_mem_image_IoI sbtw_iff_right_ne_and_left_mem_image_Ioi
+
+/- warning: sbtw.left_mem_image_Ioi -> Sbtw.left_mem_image_Ioi is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Membership.Mem.{u3, u3} P (Set.{u3} P) (Set.hasMem.{u3} P) x (Set.image.{u1, u3} R P (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (fun (_x : AffineMap.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) => R -> P) (AffineMap.hasCoeToFun.{u1, u1, u1, u2, u3} R R R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (addGroupIsAddTorsor.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 z y)) (Set.Ioi.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))))))))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Membership.mem.{u1, u1} P (Set.{u1} P) (Set.instMembershipSet.{u1} P) x (Set.image.{u3, u1} R P (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (AffineMap.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) R (fun (_x : R) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : R) => P) _x) (AffineMap.funLike.{u3, u3, u3, u2, u1} R R R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (Ring.toAddCommGroup.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))))) (addGroupIsAddTorsor.{u3} R (AddGroupWithOne.toAddGroup.{u3} R (Ring.toAddGroupWithOne.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4) (AffineMap.lineMap.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 z y)) (Set.Ioi.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1))))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))))))))
+Case conversion may be inaccurate. Consider using '#align sbtw.left_mem_image_Ioi Sbtw.left_mem_image_Ioiₓ'. -/
theorem Sbtw.left_mem_image_Ioi {x y z : P} (h : Sbtw R x y z) :
x ∈ lineMap z y '' Set.Ioi (1 : R) :=
h.symm.right_mem_image_Ioi
#align sbtw.left_mem_image_Ioi Sbtw.left_mem_image_Ioi
+/- warning: sbtw.left_mem_affine_span -> Sbtw.left_mem_affineSpan is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Membership.Mem.{u3, u3} P (AffineSubspace.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4) (SetLike.hasMem.{u3, u3} (AffineSubspace.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4) P (AffineSubspace.setLike.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4)) x (affineSpan.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 (Insert.insert.{u3, u3} P (Set.{u3} P) (Set.hasInsert.{u3} P) z (Singleton.singleton.{u3, u3} P (Set.{u3} P) (Set.hasSingleton.{u3} P) y))))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Membership.mem.{u1, u1} P (AffineSubspace.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (AffineSubspace.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4) P (AffineSubspace.instSetLikeAffineSubspace.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4)) x (affineSpan.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 (Insert.insert.{u1, u1} P (Set.{u1} P) (Set.instInsertSet.{u1} P) z (Singleton.singleton.{u1, u1} P (Set.{u1} P) (Set.instSingletonSet.{u1} P) y))))
+Case conversion may be inaccurate. Consider using '#align sbtw.left_mem_affine_span Sbtw.left_mem_affineSpanₓ'. -/
theorem Sbtw.left_mem_affineSpan {x y z : P} (h : Sbtw R x y z) : x ∈ line[R, z, y] :=
h.symm.right_mem_affineSpan
#align sbtw.left_mem_affine_span Sbtw.left_mem_affineSpan
+/- warning: wbtw_smul_vadd_smul_vadd_of_nonneg_of_le -> wbtw_smul_vadd_smul_vadd_of_nonneg_of_le is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (v : V) {r₁ : R} {r₂ : R}, (LE.le.{u1} R (Preorder.toHasLe.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))))))) r₁) -> (LE.le.{u1} R (Preorder.toHasLe.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))) r₁ r₂) -> (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₁ v) x) (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₂ v) x))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (v : V) {r₁ : R} {r₂ : R}, (LE.le.{u3} R (Preorder.toLE.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))))) (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))))) r₁) -> (LE.le.{u3} R (Preorder.toLE.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))))) r₁ r₂) -> (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₁ v) x) (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₂ v) x))
+Case conversion may be inaccurate. Consider using '#align wbtw_smul_vadd_smul_vadd_of_nonneg_of_le wbtw_smul_vadd_smul_vadd_of_nonneg_of_leₓ'. -/
theorem wbtw_smul_vadd_smul_vadd_of_nonneg_of_le (x : P) (v : V) {r₁ r₂ : R} (hr₁ : 0 ≤ r₁)
(hr₂ : r₁ ≤ r₂) : Wbtw R x (r₁ • v +ᵥ x) (r₂ • v +ᵥ x) :=
by
@@ -807,6 +1345,12 @@ theorem wbtw_smul_vadd_smul_vadd_of_nonneg_of_le (x : P) (v : V) {r₁ r₂ : R}
simp [line_map_apply, smul_smul, ((hr₁.lt_of_ne' h).trans_le hr₂).Ne.symm]
#align wbtw_smul_vadd_smul_vadd_of_nonneg_of_le wbtw_smul_vadd_smul_vadd_of_nonneg_of_le
+/- warning: wbtw_or_wbtw_smul_vadd_of_nonneg -> wbtw_or_wbtw_smul_vadd_of_nonneg is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (v : V) {r₁ : R} {r₂ : R}, (LE.le.{u1} R (Preorder.toHasLe.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))))))) r₁) -> (LE.le.{u1} R (Preorder.toHasLe.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))))))) r₂) -> (Or (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₁ v) x) (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₂ v) x)) (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₂ v) x) (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₁ v) x)))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (v : V) {r₁ : R} {r₂ : R}, (LE.le.{u3} R (Preorder.toLE.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))))) (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))))) r₁) -> (LE.le.{u3} R (Preorder.toLE.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))))) (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))))) r₂) -> (Or (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₁ v) x) (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₂ v) x)) (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₂ v) x) (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₁ v) x)))
+Case conversion may be inaccurate. Consider using '#align wbtw_or_wbtw_smul_vadd_of_nonneg wbtw_or_wbtw_smul_vadd_of_nonnegₓ'. -/
theorem wbtw_or_wbtw_smul_vadd_of_nonneg (x : P) (v : V) {r₁ r₂ : R} (hr₁ : 0 ≤ r₁) (hr₂ : 0 ≤ r₂) :
Wbtw R x (r₁ • v +ᵥ x) (r₂ • v +ᵥ x) ∨ Wbtw R x (r₂ • v +ᵥ x) (r₁ • v +ᵥ x) :=
by
@@ -815,6 +1359,12 @@ theorem wbtw_or_wbtw_smul_vadd_of_nonneg (x : P) (v : V) {r₁ r₂ : R} (hr₁
· exact Or.inr (wbtw_smul_vadd_smul_vadd_of_nonneg_of_le x v hr₂ h)
#align wbtw_or_wbtw_smul_vadd_of_nonneg wbtw_or_wbtw_smul_vadd_of_nonneg
+/- warning: wbtw_smul_vadd_smul_vadd_of_nonpos_of_le -> wbtw_smul_vadd_smul_vadd_of_nonpos_of_le is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (v : V) {r₁ : R} {r₂ : R}, (LE.le.{u1} R (Preorder.toHasLe.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))) r₁ (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))))))) -> (LE.le.{u1} R (Preorder.toHasLe.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))) r₂ r₁) -> (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₁ v) x) (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₂ v) x))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (v : V) {r₁ : R} {r₂ : R}, (LE.le.{u3} R (Preorder.toLE.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))))) r₁ (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))))))) -> (LE.le.{u3} R (Preorder.toLE.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))))) r₂ r₁) -> (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₁ v) x) (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₂ v) x))
+Case conversion may be inaccurate. Consider using '#align wbtw_smul_vadd_smul_vadd_of_nonpos_of_le wbtw_smul_vadd_smul_vadd_of_nonpos_of_leₓ'. -/
theorem wbtw_smul_vadd_smul_vadd_of_nonpos_of_le (x : P) (v : V) {r₁ r₂ : R} (hr₁ : r₁ ≤ 0)
(hr₂ : r₂ ≤ r₁) : Wbtw R x (r₁ • v +ᵥ x) (r₂ • v +ᵥ x) := by
convert wbtw_smul_vadd_smul_vadd_of_nonneg_of_le x (-v) (Left.nonneg_neg_iff.2 hr₁)
@@ -823,6 +1373,12 @@ theorem wbtw_smul_vadd_smul_vadd_of_nonpos_of_le (x : P) (v : V) {r₁ r₂ : R}
rw [neg_smul_neg]
#align wbtw_smul_vadd_smul_vadd_of_nonpos_of_le wbtw_smul_vadd_smul_vadd_of_nonpos_of_le
+/- warning: wbtw_or_wbtw_smul_vadd_of_nonpos -> wbtw_or_wbtw_smul_vadd_of_nonpos is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (v : V) {r₁ : R} {r₂ : R}, (LE.le.{u1} R (Preorder.toHasLe.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))) r₁ (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))))))) -> (LE.le.{u1} R (Preorder.toHasLe.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))) r₂ (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))))))) -> (Or (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₁ v) x) (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₂ v) x)) (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₂ v) x) (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₁ v) x)))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (v : V) {r₁ : R} {r₂ : R}, (LE.le.{u3} R (Preorder.toLE.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))))) r₁ (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))))))) -> (LE.le.{u3} R (Preorder.toLE.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))))) r₂ (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))))))) -> (Or (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₁ v) x) (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₂ v) x)) (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₂ v) x) (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₁ v) x)))
+Case conversion may be inaccurate. Consider using '#align wbtw_or_wbtw_smul_vadd_of_nonpos wbtw_or_wbtw_smul_vadd_of_nonposₓ'. -/
theorem wbtw_or_wbtw_smul_vadd_of_nonpos (x : P) (v : V) {r₁ r₂ : R} (hr₁ : r₁ ≤ 0) (hr₂ : r₂ ≤ 0) :
Wbtw R x (r₁ • v +ᵥ x) (r₂ • v +ᵥ x) ∨ Wbtw R x (r₂ • v +ᵥ x) (r₁ • v +ᵥ x) :=
by
@@ -831,6 +1387,12 @@ theorem wbtw_or_wbtw_smul_vadd_of_nonpos (x : P) (v : V) {r₁ r₂ : R} (hr₁
· exact Or.inl (wbtw_smul_vadd_smul_vadd_of_nonpos_of_le x v hr₁ h)
#align wbtw_or_wbtw_smul_vadd_of_nonpos wbtw_or_wbtw_smul_vadd_of_nonpos
+/- warning: wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg -> wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (v : V) {r₁ : R} {r₂ : R}, (LE.le.{u1} R (Preorder.toHasLe.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))) r₁ (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))))))) -> (LE.le.{u1} R (Preorder.toHasLe.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))))))) r₂) -> (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₁ v) x) x (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₂ v) x))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (v : V) {r₁ : R} {r₂ : R}, (LE.le.{u3} R (Preorder.toLE.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))))) r₁ (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))))))) -> (LE.le.{u3} R (Preorder.toLE.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))))) (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))))) r₂) -> (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₁ v) x) x (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₂ v) x))
+Case conversion may be inaccurate. Consider using '#align wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonnegₓ'. -/
theorem wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg (x : P) (v : V) {r₁ r₂ : R} (hr₁ : r₁ ≤ 0)
(hr₂ : 0 ≤ r₂) : Wbtw R (r₁ • v +ᵥ x) x (r₂ • v +ᵥ x) := by
convert wbtw_smul_vadd_smul_vadd_of_nonneg_of_le (r₁ • v +ᵥ x) v (Left.nonneg_neg_iff.2 hr₁)
@@ -839,6 +1401,12 @@ theorem wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg (x : P) (v : V) {r₁ r₂
simp [sub_smul, ← add_vadd]
#align wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg
+/- warning: wbtw_smul_vadd_smul_vadd_of_nonneg_of_nonpos -> wbtw_smul_vadd_smul_vadd_of_nonneg_of_nonpos is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (v : V) {r₁ : R} {r₂ : R}, (LE.le.{u1} R (Preorder.toHasLe.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))))))))) r₁) -> (LE.le.{u1} R (Preorder.toHasLe.{u1} R (PartialOrder.toPreorder.{u1} R (OrderedAddCommGroup.toPartialOrder.{u1} R (StrictOrderedRing.toOrderedAddCommGroup.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))))))) r₂ (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))))))) -> (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₁ v) x) x (VAdd.vadd.{u2, u3} V P (AddAction.toHasVadd.{u2, u3} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4)) (SMul.smul.{u1, u2} R V (SMulZeroClass.toHasSmul.{u1, u2} R V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R V (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R V (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) r₂ v) x))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (v : V) {r₁ : R} {r₂ : R}, (LE.le.{u3} R (Preorder.toLE.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))))) (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))))) r₁) -> (LE.le.{u3} R (Preorder.toLE.{u3} R (PartialOrder.toPreorder.{u3} R (StrictOrderedRing.toPartialOrder.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))))) r₂ (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))))))) -> (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₁ v) x) x (HVAdd.hVAdd.{u2, u1, u1} V P P (instHVAdd.{u2, u1} V P (AddAction.toVAdd.{u2, u1} V P (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))) (AddTorsor.toAddAction.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4))) (HSMul.hSMul.{u3, u2, u2} R V V (instHSMul.{u3, u2} R V (SMulZeroClass.toSMul.{u3, u2} R V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} R V (CommMonoidWithZero.toZero.{u3} R (CommGroupWithZero.toCommMonoidWithZero.{u3} R (Semifield.toCommGroupWithZero.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} R V (Semiring.toMonoidWithZero.{u3} R (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) r₂ v) x))
+Case conversion may be inaccurate. Consider using '#align wbtw_smul_vadd_smul_vadd_of_nonneg_of_nonpos wbtw_smul_vadd_smul_vadd_of_nonneg_of_nonposₓ'. -/
theorem wbtw_smul_vadd_smul_vadd_of_nonneg_of_nonpos (x : P) (v : V) {r₁ r₂ : R} (hr₁ : 0 ≤ r₁)
(hr₂ : r₂ ≤ 0) : Wbtw R (r₁ • v +ᵥ x) x (r₂ • v +ᵥ x) :=
by
@@ -846,6 +1414,12 @@ theorem wbtw_smul_vadd_smul_vadd_of_nonneg_of_nonpos (x : P) (v : V) {r₁ r₂
exact wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg x v hr₂ hr₁
#align wbtw_smul_vadd_smul_vadd_of_nonneg_of_nonpos wbtw_smul_vadd_smul_vadd_of_nonneg_of_nonpos
+/- warning: wbtw.trans_left_right -> Wbtw.trans_left_right is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 w y z) -> (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 w x y) -> (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 w y z) -> (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 w x y) -> (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z)
+Case conversion may be inaccurate. Consider using '#align wbtw.trans_left_right Wbtw.trans_left_rightₓ'. -/
theorem Wbtw.trans_left_right {w x y z : P} (h₁ : Wbtw R w y z) (h₂ : Wbtw R w x y) :
Wbtw R x y z := by
rcases h₁ with ⟨t₁, ht₁, rfl⟩
@@ -871,22 +1445,46 @@ theorem Wbtw.trans_left_right {w x y z : P} (h₁ : Wbtw R w y z) (h₂ : Wbtw R
ring_nf
#align wbtw.trans_left_right Wbtw.trans_left_right
+/- warning: wbtw.trans_right_left -> Wbtw.trans_right_left is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 w x z) -> (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 w x y)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {w : P} {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 w x z) -> (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 w x y)
+Case conversion may be inaccurate. Consider using '#align wbtw.trans_right_left Wbtw.trans_right_leftₓ'. -/
theorem Wbtw.trans_right_left {w x y z : P} (h₁ : Wbtw R w x z) (h₂ : Wbtw R x y z) :
Wbtw R w x y := by
rw [wbtw_comm] at *
exact h₁.trans_left_right h₂
#align wbtw.trans_right_left Wbtw.trans_right_left
+/- warning: sbtw.trans_left_right -> Sbtw.trans_left_right is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {w : P} {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 w y z) -> (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 w x y) -> (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {w : P} {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 w y z) -> (Sbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 w x y) -> (Sbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z)
+Case conversion may be inaccurate. Consider using '#align sbtw.trans_left_right Sbtw.trans_left_rightₓ'. -/
theorem Sbtw.trans_left_right {w x y z : P} (h₁ : Sbtw R w y z) (h₂ : Sbtw R w x y) :
Sbtw R x y z :=
⟨h₁.Wbtw.trans_left_right h₂.Wbtw, h₂.right_ne, h₁.ne_right⟩
#align sbtw.trans_left_right Sbtw.trans_left_right
+/- warning: sbtw.trans_right_left -> Sbtw.trans_right_left is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {w : P} {x : P} {y : P} {z : P}, (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 w x z) -> (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 w x y)
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {w : P} {x : P} {y : P} {z : P}, (Sbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 w x z) -> (Sbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Sbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 w x y)
+Case conversion may be inaccurate. Consider using '#align sbtw.trans_right_left Sbtw.trans_right_leftₓ'. -/
theorem Sbtw.trans_right_left {w x y z : P} (h₁ : Sbtw R w x z) (h₂ : Sbtw R x y z) :
Sbtw R w x y :=
⟨h₁.Wbtw.trans_right_left h₂.Wbtw, h₁.ne_left, h₂.left_ne⟩
#align sbtw.trans_right_left Sbtw.trans_right_left
+/- warning: wbtw.collinear -> Wbtw.collinear is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Collinear.{u1, u2, u3} R V P (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 (Insert.insert.{u3, u3} P (Set.{u3} P) (Set.hasInsert.{u3} P) x (Insert.insert.{u3, u3} P (Set.{u3} P) (Set.hasInsert.{u3} P) y (Singleton.singleton.{u3, u3} P (Set.{u3} P) (Set.hasSingleton.{u3} P) z))))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) -> (Collinear.{u3, u2, u1} R V P (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 (Insert.insert.{u1, u1} P (Set.{u1} P) (Set.instInsertSet.{u1} P) x (Insert.insert.{u1, u1} P (Set.{u1} P) (Set.instInsertSet.{u1} P) y (Singleton.singleton.{u1, u1} P (Set.{u1} P) (Set.instSingletonSet.{u1} P) z))))
+Case conversion may be inaccurate. Consider using '#align wbtw.collinear Wbtw.collinearₓ'. -/
theorem Wbtw.collinear {x y z : P} (h : Wbtw R x y z) : Collinear R ({x, y, z} : Set P) :=
by
rw [collinear_iff_exists_forall_eq_smul_vadd]
@@ -902,6 +1500,12 @@ theorem Wbtw.collinear {x y z : P} (h : Wbtw R x y z) : Collinear R ({x, y, z} :
simp
#align wbtw.collinear Wbtw.collinear
+/- warning: collinear.wbtw_or_wbtw_or_wbtw -> Collinear.wbtw_or_wbtw_or_wbtw is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Collinear.{u1, u2, u3} R V P (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)) _inst_2 _inst_3 _inst_4 (Insert.insert.{u3, u3} P (Set.{u3} P) (Set.hasInsert.{u3} P) x (Insert.insert.{u3, u3} P (Set.{u3} P) (Set.hasInsert.{u3} P) y (Singleton.singleton.{u3, u3} P (Set.{u3} P) (Set.hasSingleton.{u3} P) z)))) -> (Or (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) (Or (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 y z x) (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 z x y)))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, (Collinear.{u3, u2, u1} R V P (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)) _inst_2 _inst_3 _inst_4 (Insert.insert.{u1, u1} P (Set.{u1} P) (Set.instInsertSet.{u1} P) x (Insert.insert.{u1, u1} P (Set.{u1} P) (Set.instInsertSet.{u1} P) y (Singleton.singleton.{u1, u1} P (Set.{u1} P) (Set.instSingletonSet.{u1} P) z)))) -> (Or (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) (Or (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 y z x) (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 z x y)))
+Case conversion may be inaccurate. Consider using '#align collinear.wbtw_or_wbtw_or_wbtw Collinear.wbtw_or_wbtw_or_wbtwₓ'. -/
theorem Collinear.wbtw_or_wbtw_or_wbtw {x y z : P} (h : Collinear R ({x, y, z} : Set P)) :
Wbtw R x y z ∨ Wbtw R y z x ∨ Wbtw R z x y :=
by
@@ -928,6 +1532,12 @@ theorem Collinear.wbtw_or_wbtw_or_wbtw {x y z : P} (h : Collinear R ({x, y, z} :
exact Or.inl (wbtw_or_wbtw_smul_vadd_of_nonneg _ _ hy0.le hz0.le)
#align collinear.wbtw_or_wbtw_or_wbtw Collinear.wbtw_or_wbtw_or_wbtw
+/- warning: wbtw_iff_same_ray_vsub -> wbtw_iff_sameRay_vsub is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, Iff (Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) (SameRay.{u1, u2} R (StrictOrderedCommRing.toStrictOrderedCommSemiring.{u1} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1))) V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) y x) (VSub.vsub.{u2, u3} V P (AddTorsor.toHasVsub.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) z y))
+but is expected to have type
+ forall {R : Type.{u3}} {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P} {z : P}, Iff (Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x y z) (SameRay.{u3, u2} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1))) V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) y x) (VSub.vsub.{u2, u1} V P (AddTorsor.toVSub.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2) _inst_4) z y))
+Case conversion may be inaccurate. Consider using '#align wbtw_iff_same_ray_vsub wbtw_iff_sameRay_vsubₓ'. -/
theorem wbtw_iff_sameRay_vsub {x y z : P} : Wbtw R x y z ↔ SameRay R (y -ᵥ x) (z -ᵥ y) :=
by
refine' ⟨Wbtw.sameRay_vsub, fun h => _⟩
@@ -952,6 +1562,12 @@ theorem wbtw_iff_sameRay_vsub {x y z : P} : Wbtw R x y z ↔ SameRay R (y -ᵥ x
variable (R)
+/- warning: wbtw_point_reflection -> wbtw_pointReflection is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 y x (coeFn.{max (succ u3) (succ u2), succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P -> P) (AffineEquiv.hasCoeToFun.{u1, u3, u3, u2, u2} R P P V V (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.pointReflection.{u1, u3, u2} R P V (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 x) y)
+but is expected to have type
+ forall (R : Type.{u3}) {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 y x (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P) _x) (EmbeddingLike.toFunLike.{max (succ u1) (succ u2), succ u1, succ u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P P (EquivLike.toEmbeddingLike.{max (succ u1) (succ u2), succ u1, succ u1} (AffineEquiv.{u3, u1, u1, u2, u2} R P P V V (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P P (AffineEquiv.equivLike.{u3, u1, u1, u2, u2} R P P V V (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u3, u1, u2} R P V (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) _inst_2 _inst_3 _inst_4 x) y)
+Case conversion may be inaccurate. Consider using '#align wbtw_point_reflection wbtw_pointReflectionₓ'. -/
theorem wbtw_pointReflection (x y : P) : Wbtw R y x (pointReflection R x y) :=
by
refine' ⟨2⁻¹, ⟨by norm_num, by norm_num⟩, _⟩
@@ -959,6 +1575,12 @@ theorem wbtw_pointReflection (x y : P) : Wbtw R y x (pointReflection R x y) :=
simp
#align wbtw_point_reflection wbtw_pointReflection
+/- warning: sbtw_point_reflection_of_ne -> sbtw_pointReflection_of_ne is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P}, (Ne.{succ u3} P x y) -> (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 y x (coeFn.{max (succ u3) (succ u2), succ u3} (AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (fun (_x : AffineEquiv.{u1, u3, u3, u2, u2} R P P V V (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) => P -> P) (AffineEquiv.hasCoeToFun.{u1, u3, u3, u2, u2} R P P V V (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) (AffineEquiv.pointReflection.{u1, u3, u2} R P V (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) _inst_2 _inst_3 _inst_4 x) y))
+but is expected to have type
+ forall (R : Type.{u2}) {V : Type.{u1}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u2} R] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} R V (DivisionSemiring.toSemiring.{u2} R (Semifield.toDivisionSemiring.{u2} R (LinearOrderedSemifield.toSemifield.{u2} R (LinearOrderedField.toLinearOrderedSemifield.{u2} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] [_inst_4 : AddTorsor.{u1, u3} V P (AddCommGroup.toAddGroup.{u1} V _inst_2)] {x : P} {y : P}, (Ne.{succ u3} P x y) -> (Sbtw.{u2, u1, u3} R V P (OrderedCommRing.toOrderedRing.{u2} R (StrictOrderedCommRing.toOrderedCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R (LinearOrderedField.toLinearOrderedCommRing.{u2} R _inst_1)))) _inst_2 _inst_3 _inst_4 y x (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u3} (AffineEquiv.{u2, u3, u3, u1, u1} R P P V V (DivisionRing.toRing.{u2} R (Field.toDivisionRing.{u2} R (LinearOrderedField.toField.{u2} R _inst_1))) _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P (fun (_x : P) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineEquiv._hyg.1470 : P) => P) _x) (EmbeddingLike.toFunLike.{max (succ u3) (succ u1), succ u3, succ u3} (AffineEquiv.{u2, u3, u3, u1, u1} R P P V V (DivisionRing.toRing.{u2} R (Field.toDivisionRing.{u2} R (LinearOrderedField.toField.{u2} R _inst_1))) _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P P (EquivLike.toEmbeddingLike.{max (succ u3) (succ u1), succ u3, succ u3} (AffineEquiv.{u2, u3, u3, u1, u1} R P P V V (DivisionRing.toRing.{u2} R (Field.toDivisionRing.{u2} R (LinearOrderedField.toField.{u2} R _inst_1))) _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4) P P (AffineEquiv.equivLike.{u2, u3, u3, u1, u1} R P P V V (DivisionRing.toRing.{u2} R (Field.toDivisionRing.{u2} R (LinearOrderedField.toField.{u2} R _inst_1))) _inst_2 _inst_3 _inst_4 _inst_2 _inst_3 _inst_4))) (AffineEquiv.pointReflection.{u2, u3, u1} R P V (DivisionRing.toRing.{u2} R (Field.toDivisionRing.{u2} R (LinearOrderedField.toField.{u2} R _inst_1))) _inst_2 _inst_3 _inst_4 x) y))
+Case conversion may be inaccurate. Consider using '#align sbtw_point_reflection_of_ne sbtw_pointReflection_of_neₓ'. -/
theorem sbtw_pointReflection_of_ne {x y : P} (h : x ≠ y) : Sbtw R y x (pointReflection R x y) :=
by
refine' ⟨wbtw_pointReflection _ _ _, h, _⟩
@@ -966,12 +1588,24 @@ theorem sbtw_pointReflection_of_ne {x y : P} (h : x ≠ y) : Sbtw R y x (pointRe
exact (point_reflection_involutive R x).Injective.Ne h
#align sbtw_point_reflection_of_ne sbtw_pointReflection_of_ne
+/- warning: wbtw_midpoint -> wbtw_midpoint is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Wbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (midpoint.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (invertibleTwo.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)) (StrictOrderedSemiring.to_charZero.{u1} R (StrictOrderedRing.toStrictOrderedSemiring.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4 x y) y
+but is expected to have type
+ forall (R : Type.{u3}) {V : Type.{u2}} {P : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u3, u2} R V (DivisionSemiring.toSemiring.{u3} R (Semifield.toDivisionSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u1} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] (x : P) (y : P), Wbtw.{u3, u2, u1} R V P (OrderedCommRing.toOrderedRing.{u3} R (StrictOrderedCommRing.toOrderedCommRing.{u3} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (midpoint.{u3, u2, u1} R V P (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1))) (invertibleTwo.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_1)) (StrictOrderedSemiring.to_charZero.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_1)))))) _inst_2 _inst_3 _inst_4 x y) y
+Case conversion may be inaccurate. Consider using '#align wbtw_midpoint wbtw_midpointₓ'. -/
theorem wbtw_midpoint (x y : P) : Wbtw R x (midpoint R x y) y :=
by
convert wbtw_pointReflection R (midpoint R x y) x
simp
#align wbtw_midpoint wbtw_midpoint
+/- warning: sbtw_midpoint_of_ne -> sbtw_midpoint_of_ne is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) {V : Type.{u2}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} R] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} R V (Ring.toSemiring.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] [_inst_4 : AddTorsor.{u2, u3} V P (AddCommGroup.toAddGroup.{u2} V _inst_2)] {x : P} {y : P}, (Ne.{succ u3} P x y) -> (Sbtw.{u1, u2, u3} R V P (StrictOrderedRing.toOrderedRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (midpoint.{u1, u2, u3} R V P (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1))) (invertibleTwo.{u1} R (Field.toDivisionRing.{u1} R (LinearOrderedField.toField.{u1} R _inst_1)) (StrictOrderedSemiring.to_charZero.{u1} R (StrictOrderedRing.toStrictOrderedSemiring.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_1)))))) _inst_2 _inst_3 _inst_4 x y) y)
+but is expected to have type
+ forall (R : Type.{u2}) {V : Type.{u1}} {P : Type.{u3}} [_inst_1 : LinearOrderedField.{u2} R] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} R V (DivisionSemiring.toSemiring.{u2} R (Semifield.toDivisionSemiring.{u2} R (LinearOrderedSemifield.toSemifield.{u2} R (LinearOrderedField.toLinearOrderedSemifield.{u2} R _inst_1)))) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] [_inst_4 : AddTorsor.{u1, u3} V P (AddCommGroup.toAddGroup.{u1} V _inst_2)] {x : P} {y : P}, (Ne.{succ u3} P x y) -> (Sbtw.{u2, u1, u3} R V P (OrderedCommRing.toOrderedRing.{u2} R (StrictOrderedCommRing.toOrderedCommRing.{u2} R (LinearOrderedCommRing.toStrictOrderedCommRing.{u2} R (LinearOrderedField.toLinearOrderedCommRing.{u2} R _inst_1)))) _inst_2 _inst_3 _inst_4 x (midpoint.{u2, u1, u3} R V P (DivisionRing.toRing.{u2} R (Field.toDivisionRing.{u2} R (LinearOrderedField.toField.{u2} R _inst_1))) (invertibleTwo.{u2} R (Field.toDivisionRing.{u2} R (LinearOrderedField.toField.{u2} R _inst_1)) (StrictOrderedSemiring.to_charZero.{u2} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} R (LinearOrderedField.toLinearOrderedSemifield.{u2} R _inst_1)))))) _inst_2 _inst_3 _inst_4 x y) y)
+Case conversion may be inaccurate. Consider using '#align sbtw_midpoint_of_ne sbtw_midpoint_of_neₓ'. -/
theorem sbtw_midpoint_of_ne {x y : P} (h : x ≠ y) : Sbtw R x (midpoint R x y) y :=
by
have h : midpoint R x y ≠ x := by simp [h]
mathlib commit https://github.com/leanprover-community/mathlib/commit/738054fa93d43512da144ec45ce799d18fd44248
@@ -4,15 +4,15 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Joseph Myers
! This file was ported from Lean 3 source module analysis.convex.between
-! leanprover-community/mathlib commit 2de9c37fa71dde2f1c6feff19876dd6a7b1519f0
+! leanprover-community/mathlib commit f0c8bf9245297a541f468be517f1bde6195105e9
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
import Mathbin.Data.Set.Intervals.Group
import Mathbin.Analysis.Convex.Segment
import Mathbin.LinearAlgebra.AffineSpace.FiniteDimensional
-import Mathbin.LinearAlgebra.AffineSpace.MidpointZero
import Mathbin.Tactic.FieldSimp
+import Mathbin.Algebra.CharP.Invertible
/-!
# Betweenness in affine spaces
mathlib commit https://github.com/leanprover-community/mathlib/commit/b685f506164f8d17a6404048bc4d696739c5d976
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Joseph Myers
! This file was ported from Lean 3 source module analysis.convex.between
-! leanprover-community/mathlib commit 78261225eb5cedc61c5c74ecb44e5b385d13b733
+! leanprover-community/mathlib commit 2de9c37fa71dde2f1c6feff19876dd6a7b1519f0
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -541,18 +541,13 @@ theorem Sbtw.trans_wbtw_right_ne [NoZeroSMulDivisors R V] {w x y z : P} (h₁ :
h₁.Wbtw.trans_right_ne h₂ h₁.left_ne
#align sbtw.trans_wbtw_right_ne Sbtw.trans_wbtw_right_ne
-/- Calls to `affine_combination` are slow to elaborate (generally, not just for this lemma), and
-without the use of `@finset.affine_combination R V _ _ _ _ _ _` for at least three of the six
-calls in this lemma statement, elaboration of the statement times out (even if the proof is
-replaced by `sorry`). -/
theorem Sbtw.affineCombination_of_mem_affineSpan_pair [NoZeroDivisors R] [NoZeroSMulDivisors R V]
{ι : Type _} {p : ι → P} (ha : AffineIndependent R p) {w w₁ w₂ : ι → R} {s : Finset ι}
(hw : (∑ i in s, w i) = 1) (hw₁ : (∑ i in s, w₁ i) = 1) (hw₂ : (∑ i in s, w₂ i) = 1)
- (h : s.affineCombination p w ∈ line[R, s.affineCombination p w₁, s.affineCombination p w₂])
+ (h :
+ s.affineCombination R p w ∈ line[R, s.affineCombination R p w₁, s.affineCombination R p w₂])
{i : ι} (his : i ∈ s) (hs : Sbtw R (w₁ i) (w i) (w₂ i)) :
- Sbtw R (@Finset.affineCombination R V _ _ _ _ _ _ s p w₁)
- (@Finset.affineCombination R V _ _ _ _ _ _ s p w)
- (@Finset.affineCombination R V _ _ _ _ _ _ s p w₂) :=
+ Sbtw R (s.affineCombination R p w₁) (s.affineCombination R p w) (s.affineCombination R p w₂) :=
by
rw [affineCombination_mem_affineSpan_pair ha hw hw₁ hw₂] at h
rcases h with ⟨r, hr⟩
mathlib commit https://github.com/leanprover-community/mathlib/commit/57e09a1296bfb4330ddf6624f1028ba186117d82
@@ -91,7 +91,7 @@ variable (R)
@[simp]
theorem affineSegment_const_vadd_image (x y : P) (v : V) :
(· +ᵥ ·) v '' affineSegment R x y = affineSegment R (v +ᵥ x) (v +ᵥ y) :=
- affineSegment_image (AffineEquiv.constVadd R P v : P →ᵃ[R] P) x y
+ affineSegment_image (AffineEquiv.constVAdd R P v : P →ᵃ[R] P) x y
#align affine_segment_const_vadd_image affineSegment_const_vadd_image
@[simp]
@@ -103,7 +103,7 @@ theorem affineSegment_vadd_const_image (x y : V) (p : P) :
@[simp]
theorem affineSegment_const_vsub_image (x y p : P) :
(· -ᵥ ·) p '' affineSegment R x y = affineSegment R (p -ᵥ x) (p -ᵥ y) :=
- affineSegment_image (AffineEquiv.constVsub R p : P →ᵃ[R] V) x y
+ affineSegment_image (AffineEquiv.constVSub R p : P →ᵃ[R] V) x y
#align affine_segment_const_vsub_image affineSegment_const_vsub_image
@[simp]
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce7e9d53d4bbc38065db3b595cd5bd73c323bc1d
@@ -822,8 +822,7 @@ theorem wbtw_or_wbtw_smul_vadd_of_nonneg (x : P) (v : V) {r₁ r₂ : R} (hr₁
theorem wbtw_smul_vadd_smul_vadd_of_nonpos_of_le (x : P) (v : V) {r₁ r₂ : R} (hr₁ : r₁ ≤ 0)
(hr₂ : r₂ ≤ r₁) : Wbtw R x (r₁ • v +ᵥ x) (r₂ • v +ᵥ x) := by
- convert
- wbtw_smul_vadd_smul_vadd_of_nonneg_of_le x (-v) (Left.nonneg_neg_iff.2 hr₁)
+ convert wbtw_smul_vadd_smul_vadd_of_nonneg_of_le x (-v) (Left.nonneg_neg_iff.2 hr₁)
(neg_le_neg_iff.2 hr₂) using
1 <;>
rw [neg_smul_neg]
@@ -839,8 +838,7 @@ theorem wbtw_or_wbtw_smul_vadd_of_nonpos (x : P) (v : V) {r₁ r₂ : R} (hr₁
theorem wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg (x : P) (v : V) {r₁ r₂ : R} (hr₁ : r₁ ≤ 0)
(hr₂ : 0 ≤ r₂) : Wbtw R (r₁ • v +ᵥ x) x (r₂ • v +ᵥ x) := by
- convert
- wbtw_smul_vadd_smul_vadd_of_nonneg_of_le (r₁ • v +ᵥ x) v (Left.nonneg_neg_iff.2 hr₁)
+ convert wbtw_smul_vadd_smul_vadd_of_nonneg_of_le (r₁ • v +ᵥ x) v (Left.nonneg_neg_iff.2 hr₁)
(neg_le_sub_iff_le_add.2 ((le_add_iff_nonneg_left r₁).2 hr₂)) using
1 <;>
simp [sub_smul, ← add_vadd]
@@ -952,7 +950,7 @@ theorem wbtw_iff_sameRay_vsub {x y z : P} : Wbtw R x y z ↔ SameRay R (y -ᵥ x
rw [eq_comm]
simp only [line_map_apply, h', vadd_vsub_assoc, smul_smul, ← add_smul, eq_vadd_iff_vsub_eq,
smul_add]
- convert (one_smul _ _).symm
+ convert(one_smul _ _).symm
field_simp [(add_pos hr₁ hr₂).ne', hr₂.ne']
ring
#align wbtw_iff_same_ray_vsub wbtw_iff_sameRay_vsub
mathlib commit https://github.com/leanprover-community/mathlib/commit/38f16f960f5006c6c0c2bac7b0aba5273188f4e5
@@ -4,13 +4,14 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Joseph Myers
! This file was ported from Lean 3 source module analysis.convex.between
-! leanprover-community/mathlib commit ba2245edf0c8bb155f1569fd9b9492a9b384cde6
+! leanprover-community/mathlib commit 78261225eb5cedc61c5c74ecb44e5b385d13b733
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
import Mathbin.Data.Set.Intervals.Group
import Mathbin.Analysis.Convex.Segment
import Mathbin.LinearAlgebra.AffineSpace.FiniteDimensional
+import Mathbin.LinearAlgebra.AffineSpace.MidpointZero
import Mathbin.Tactic.FieldSimp
/-!
mathlib commit https://github.com/leanprover-community/mathlib/commit/eb0cb4511aaef0da2462207b67358a0e1fe1e2ee
@@ -595,14 +595,14 @@ theorem Wbtw.sameRay_vsub {x y z : P} (h : Wbtw R x y z) : SameRay R (y -ᵥ x)
theorem Wbtw.sameRay_vsub_left {x y z : P} (h : Wbtw R x y z) : SameRay R (y -ᵥ x) (z -ᵥ x) :=
by
rcases h with ⟨t, ⟨ht0, ht1⟩, rfl⟩
- simpa [line_map_apply] using sameRay_nonneg_smul_left (z -ᵥ x) ht0
+ simpa [line_map_apply] using SameRay.sameRay_nonneg_smul_left (z -ᵥ x) ht0
#align wbtw.same_ray_vsub_left Wbtw.sameRay_vsub_left
theorem Wbtw.sameRay_vsub_right {x y z : P} (h : Wbtw R x y z) : SameRay R (z -ᵥ x) (z -ᵥ y) :=
by
rcases h with ⟨t, ⟨ht0, ht1⟩, rfl⟩
simpa [line_map_apply, vsub_vadd_eq_vsub_sub, sub_smul] using
- sameRay_nonneg_smul_right (z -ᵥ x) (sub_nonneg.2 ht1)
+ SameRay.sameRay_nonneg_smul_right (z -ᵥ x) (sub_nonneg.2 ht1)
#align wbtw.same_ray_vsub_right Wbtw.sameRay_vsub_right
end StrictOrderedCommRing
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
Move Set.Ixx
, Finset.Ixx
, Multiset.Ixx
together under two different folders:
Order.Interval
for their definition and basic propertiesAlgebra.Order.Interval
for their algebraic propertiesMove the definitions of Multiset.Ixx
to what is now Order.Interval.Multiset
. I believe we could just delete this file in a later PR as nothing uses it (and I already had doubts when defining Multiset.Ixx
three years ago).
Move the algebraic results out of what is now Order.Interval.Finset.Basic
to a new file Algebra.Order.Interval.Finset.Basic
.
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Joseph Myers
-/
import Mathlib.Algebra.CharP.Invertible
-import Mathlib.Data.Set.Intervals.Group
+import Mathlib.Algebra.Order.Interval.Set.Group
import Mathlib.Analysis.Convex.Segment
import Mathlib.LinearAlgebra.AffineSpace.FiniteDimensional
import Mathlib.Tactic.FieldSimp
Empty lines were removed by executing the following Python script twice
import os
import re
# Loop through each file in the repository
for dir_path, dirs, files in os.walk('.'):
for filename in files:
if filename.endswith('.lean'):
file_path = os.path.join(dir_path, filename)
# Open the file and read its contents
with open(file_path, 'r') as file:
content = file.read()
# Use a regular expression to replace sequences of "variable" lines separated by empty lines
# with sequences without empty lines
modified_content = re.sub(r'(variable.*\n)\n(variable(?! .* in))', r'\1\2', content)
# Write the modified content back to the file
with open(file_path, 'w') as file:
file.write(modified_content)
@@ -34,7 +34,6 @@ open BigOperators
section OrderedRing
variable [OrderedRing R] [AddCommGroup V] [Module R V] [AddTorsor V P]
-
variable [AddCommGroup V'] [Module R V'] [AddTorsor V' P']
/-- The segment of points weakly between `x` and `y`. When convexity is refactored to support
@@ -554,7 +553,6 @@ end OrderedRing
section StrictOrderedCommRing
variable [StrictOrderedCommRing R] [AddCommGroup V] [Module R V] [AddTorsor V P]
-
variable {R}
theorem Wbtw.sameRay_vsub {x y z : P} (h : Wbtw R x y z) : SameRay R (y -ᵥ x) (z -ᵥ y) := by
@@ -583,7 +581,6 @@ end StrictOrderedCommRing
section LinearOrderedRing
variable [LinearOrderedRing R] [AddCommGroup V] [Module R V] [AddTorsor V P]
-
variable {R}
/-- Suppose lines from two vertices of a triangle to interior points of the opposite side meet at
@@ -670,7 +667,6 @@ end LinearOrderedRing
section LinearOrderedField
variable [LinearOrderedField R] [AddCommGroup V] [Module R V] [AddTorsor V P]
-
variable {R}
theorem wbtw_iff_left_eq_or_right_mem_image_Ici {x y z : P} :
Homogenises porting notes via capitalisation and addition of whitespace.
It makes the following changes:
@@ -68,11 +68,11 @@ theorem right_mem_affineSegment (x y : P) : y ∈ affineSegment R x y :=
@[simp]
theorem affineSegment_same (x : P) : affineSegment R x x = {x} := by
- -- porting note: added as this doesn't do anything in `simp_rw` any more
+ -- Porting note: added as this doesn't do anything in `simp_rw` any more
rw [affineSegment]
-- Note: when adding "simp made no progress" in lean4#2336,
-- had to change `lineMap_same` to `lineMap_same _`. Not sure why?
- -- porting note: added `_ _` and `Function.const`
+ -- Porting note: added `_ _` and `Function.const`
simp_rw [lineMap_same _, AffineMap.coe_const _ _, Function.const,
(Set.nonempty_Icc.mpr zero_le_one).image_const]
#align affine_segment_same affineSegment_same
Simplex.Independent
(#8419)
This holds a proof not a Prop
, so should be lowercase.
@@ -629,17 +629,17 @@ theorem sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair [NoZeroSMulDivisors R V]
rcases h₂i with ⟨r₂, ⟨hr₂0, hr₂1⟩, rfl⟩
rcases eq_affineCombination_of_mem_affineSpan_of_fintype hp with ⟨w, hw, rfl⟩
have h₁s :=
- sign_eq_of_affineCombination_mem_affineSpan_single_lineMap t.Independent hw (Finset.mem_univ _)
+ sign_eq_of_affineCombination_mem_affineSpan_single_lineMap t.independent hw (Finset.mem_univ _)
(Finset.mem_univ _) (Finset.mem_univ _) h₁₂ h₁₃ h₂₃ hr₁0 hr₁1 h₁'
have h₂s :=
- sign_eq_of_affineCombination_mem_affineSpan_single_lineMap t.Independent hw (Finset.mem_univ _)
+ sign_eq_of_affineCombination_mem_affineSpan_single_lineMap t.independent hw (Finset.mem_univ _)
(Finset.mem_univ _) (Finset.mem_univ _) h₁₂.symm h₂₃ h₁₃ hr₂0 hr₂1 h₂'
rw [← Finset.univ.affineCombination_affineCombinationSingleWeights R t.points
(Finset.mem_univ i₁),
← Finset.univ.affineCombination_affineCombinationLineMapWeights t.points (Finset.mem_univ _)
(Finset.mem_univ _)] at h₁' ⊢
refine'
- Sbtw.affineCombination_of_mem_affineSpan_pair t.Independent hw
+ Sbtw.affineCombination_of_mem_affineSpan_pair t.independent hw
(Finset.univ.sum_affineCombinationSingleWeights R (Finset.mem_univ _))
(Finset.univ.sum_affineCombinationLineMapWeights (Finset.mem_univ _) (Finset.mem_univ _) _)
h₁' (Finset.mem_univ i₁) _
This is the supremum of
along with some minor fixes from failures on nightly-testing as Mathlib master
is merged into it.
Note that some PRs for changes that are already compatible with the current toolchain and will be necessary have already been split out: #8380.
I am hopeful that in future we will be able to progressively merge adaptation PRs into a bump/v4.X.0
branch, so we never end up with a "big merge" like this. However one of these adaptation PRs (#8056) predates my new scheme for combined CI, and it wasn't possible to keep that PR viable in the meantime.
In particular this includes adjustments for the Lean PRs
We can get rid of all the
local macro_rules | `($x ^ $y) => `(HPow.hPow $x $y) -- Porting note: See issue [lean4#2220](https://github.com/leanprover/lean4/pull/2220)
macros across Mathlib (and in any projects that want to write natural number powers of reals).
Changes the default behaviour of simp
to (config := {decide := false})
. This makes simp
(and consequentially norm_num
) less powerful, but also more consistent, and less likely to blow up in long failures. This requires a variety of changes: changing some previously by simp
or norm_num
to decide
or rfl
, or adding (config := {decide := true})
.
This changed the behaviour of simp
so that simp [f]
will only unfold "fully applied" occurrences of f
. The old behaviour can be recovered with simp (config := { unfoldPartialApp := true })
. We may in future add a syntax for this, e.g. simp [!f]
; please provide feedback! In the meantime, we have made the following changes:
(config := { unfoldPartialApp := true })
in some places, to recover the old behaviour@[eqns]
to manually adjust the equation lemmas for a particular definition, recovering the old behaviour just for that definition. See #8371, where we do this for Function.comp
and Function.flip
.This change in Lean may require further changes down the line (e.g. adding the !f
syntax, and/or upstreaming the special treatment for Function.comp
and Function.flip
, and/or removing this special treatment). Please keep an open and skeptical mind about these changes!
Co-authored-by: leanprover-community-mathlib4-bot <leanprover-community-mathlib4-bot@users.noreply.github.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Mauricio Collares <mauricio@collares.org>
@@ -610,7 +610,8 @@ theorem sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair [NoZeroSMulDivisors R V]
have hu : (Finset.univ : Finset (Fin 3)) = {i₁, i₂, i₃} := by
clear h₁ h₂ h₁' h₂'
-- Porting note: Originally `decide!`
- fin_cases i₁ <;> fin_cases i₂ <;> fin_cases i₃ <;> simp at h₁₂ h₁₃ h₂₃ ⊢
+ fin_cases i₁ <;> fin_cases i₂ <;> fin_cases i₃
+ <;> simp (config := {decide := true}) at h₁₂ h₁₃ h₂₃ ⊢
have hp : p ∈ affineSpan R (Set.range t.points) := by
have hle : line[R, t.points i₁, p₁] ≤ affineSpan R (Set.range t.points) := by
refine' affineSpan_pair_le_of_mem_of_mem (mem_affineSpan R (Set.mem_range_self _)) _
@@ -538,7 +538,6 @@ theorem Sbtw.affineCombination_of_mem_affineSpan_pair [NoZeroDivisors R] [NoZero
rw [hr i his, sbtw_mul_sub_add_iff] at hs
change ∀ i ∈ s, w i = (r • (w₂ - w₁) + w₁) i at hr
rw [s.affineCombination_congr hr fun _ _ => rfl]
- dsimp only
rw [← s.weightedVSub_vadd_affineCombination, s.weightedVSub_const_smul,
← s.affineCombination_vsub, ← lineMap_apply, sbtw_lineMap_iff, and_iff_left hs.2,
← @vsub_ne_zero V, s.affineCombination_vsub]
In a normed torsor over a strictly convex space, if the triangle inequality dist a c ≤ dist a b + dist b c
is an equality, then b
lies between a
and c
.
Co-authored-by: Mario Carneiro <di.gama@gmail.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
@@ -152,6 +152,9 @@ def Sbtw (x y z : P) : Prop :=
variable {R}
+lemma mem_segment_iff_wbtw {x y z : V} : y ∈ segment R x z ↔ Wbtw R x y z := by
+ rw [Wbtw, affineSegment_eq_segment]
+
theorem Wbtw.map {x y z : P} (h : Wbtw R x y z) (f : P →ᵃ[R] P') : Wbtw R (f x) (f y) (f z) := by
rw [Wbtw, ← affineSegment_image]
exact Set.mem_image_of_mem _ h
Removes nonterminal simps on lines looking like simp [...]
@@ -561,7 +561,7 @@ theorem Wbtw.sameRay_vsub {x y z : P} (h : Wbtw R x y z) : SameRay R (y -ᵥ x)
rcases ht0.lt_or_eq with (ht0' | rfl); swap; · simp
rcases ht1.lt_or_eq with (ht1' | rfl); swap; · simp
refine' Or.inr (Or.inr ⟨1 - t, t, sub_pos.2 ht1', ht0', _⟩)
- simp [vsub_vadd_eq_vsub_sub, smul_sub, smul_smul, ← sub_smul]
+ simp only [vadd_vsub, smul_smul, vsub_vadd_eq_vsub_sub, smul_sub, ← sub_smul]
ring_nf
#align wbtw.same_ray_vsub Wbtw.sameRay_vsub
@@ -274,14 +274,14 @@ theorem wbtw_comm {x y z : P} : Wbtw R x y z ↔ Wbtw R z y x := by
rw [Wbtw, Wbtw, affineSegment_comm]
#align wbtw_comm wbtw_comm
-alias wbtw_comm ↔ Wbtw.symm _
+alias ⟨Wbtw.symm, _⟩ := wbtw_comm
#align wbtw.symm Wbtw.symm
theorem sbtw_comm {x y z : P} : Sbtw R x y z ↔ Sbtw R z y x := by
rw [Sbtw, Sbtw, wbtw_comm, ← and_assoc, ← and_assoc, and_right_comm]
#align sbtw_comm sbtw_comm
-alias sbtw_comm ↔ Sbtw.symm _
+alias ⟨Sbtw.symm, _⟩ := sbtw_comm
#align sbtw.symm Sbtw.symm
variable (R)
The major change here is adapting to simp
failing if it makes no progress.
The vast majority of the redundant simp
s found due to this change were extracted to #6632.
Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
@@ -70,8 +70,10 @@ theorem right_mem_affineSegment (x y : P) : y ∈ affineSegment R x y :=
theorem affineSegment_same (x : P) : affineSegment R x x = {x} := by
-- porting note: added as this doesn't do anything in `simp_rw` any more
rw [affineSegment]
+ -- Note: when adding "simp made no progress" in lean4#2336,
+ -- had to change `lineMap_same` to `lineMap_same _`. Not sure why?
-- porting note: added `_ _` and `Function.const`
- simp_rw [lineMap_same, AffineMap.coe_const _ _, Function.const,
+ simp_rw [lineMap_same _, AffineMap.coe_const _ _, Function.const,
(Set.nonempty_Icc.mpr zero_le_one).image_const]
#align affine_segment_same affineSegment_same
@@ -530,7 +530,6 @@ theorem Sbtw.affineCombination_of_mem_affineSpan_pair [NoZeroDivisors R] [NoZero
(s.affineCombination R p w₂) := by
rw [affineCombination_mem_affineSpan_pair ha hw hw₁ hw₂] at h
rcases h with ⟨r, hr⟩
- dsimp only at hr
rw [hr i his, sbtw_mul_sub_add_iff] at hs
change ∀ i ∈ s, w i = (r • (w₂ - w₁) + w₁) i at hr
rw [s.affineCombination_congr hr fun _ _ => rfl]
@@ -630,7 +629,6 @@ theorem sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair [NoZeroSMulDivisors R V]
have h₂s :=
sign_eq_of_affineCombination_mem_affineSpan_single_lineMap t.Independent hw (Finset.mem_univ _)
(Finset.mem_univ _) (Finset.mem_univ _) h₁₂.symm h₂₃ h₁₃ hr₂0 hr₂1 h₂'
- dsimp only at h₁s h₂s
rw [← Finset.univ.affineCombination_affineCombinationSingleWeights R t.points
(Finset.mem_univ i₁),
← Finset.univ.affineCombination_affineCombinationLineMapWeights t.points (Finset.mem_univ _)
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -25,7 +25,7 @@ This file defines notions of a point in an affine space being between two given
-/
-variable (R : Type _) {V V' P P' : Type _}
+variable (R : Type*) {V V' P P' : Type*}
open AffineEquiv AffineMap
@@ -339,8 +339,7 @@ theorem sbtw_iff_mem_image_Ioo_and_ne [NoZeroSMulDivisors R V] {x y z : P} :
refine' ⟨⟨t, Set.mem_Icc_of_Ioo ht, rfl⟩, _⟩
rw [lineMap_apply, ← @vsub_ne_zero V, ← @vsub_ne_zero V _ _ _ _ z, vadd_vsub_assoc, vsub_self,
vadd_vsub_assoc, ← neg_vsub_eq_vsub_rev z x, ← @neg_one_smul R, ← add_smul, ← sub_eq_add_neg]
- have : z -ᵥ x ≠ 0 := by simpa using hxz.symm
- simp [smul_ne_zero, this, sub_eq_zero, ht.1.ne.symm, ht.2.ne]
+ simp [smul_ne_zero, sub_eq_zero, ht.1.ne.symm, ht.2.ne, hxz.symm]
#align sbtw_iff_mem_image_Ioo_and_ne sbtw_iff_mem_image_Ioo_and_ne
variable (R)
@@ -522,7 +521,7 @@ theorem Sbtw.trans_wbtw_right_ne [NoZeroSMulDivisors R V] {w x y z : P} (h₁ :
#align sbtw.trans_wbtw_right_ne Sbtw.trans_wbtw_right_ne
theorem Sbtw.affineCombination_of_mem_affineSpan_pair [NoZeroDivisors R] [NoZeroSMulDivisors R V]
- {ι : Type _} {p : ι → P} (ha : AffineIndependent R p) {w w₁ w₂ : ι → R} {s : Finset ι}
+ {ι : Type*} {p : ι → P} (ha : AffineIndependent R p) {w w₁ w₂ : ι → R} {s : Finset ι}
(hw : ∑ i in s, w i = 1) (hw₁ : ∑ i in s, w₁ i = 1) (hw₂ : ∑ i in s, w₂ i = 1)
(h : s.affineCombination R p w ∈
line[R, s.affineCombination R p w₁, s.affineCombination R p w₂])
@@ -2,11 +2,6 @@
Copyright (c) 2022 Joseph Myers. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Joseph Myers
-
-! This file was ported from Lean 3 source module analysis.convex.between
-! leanprover-community/mathlib commit 571e13cacbed7bf042fd3058ce27157101433842
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Algebra.CharP.Invertible
import Mathlib.Data.Set.Intervals.Group
@@ -14,6 +9,8 @@ import Mathlib.Analysis.Convex.Segment
import Mathlib.LinearAlgebra.AffineSpace.FiniteDimensional
import Mathlib.Tactic.FieldSimp
+#align_import analysis.convex.between from "leanprover-community/mathlib"@"571e13cacbed7bf042fd3058ce27157101433842"
+
/-!
# Betweenness in affine spaces
∑'
precedence (#5615)
∑
, ∏
and variants).([^a-zA-Zα-ωΑ-Ω'𝓝ℳ₀𝕂ₛ)]) \(([∑∏][^()∑∏]*,[^()∑∏:]*)\) ([⊂⊆=<≤])
replaced by $1 $2 $3
@@ -526,7 +526,7 @@ theorem Sbtw.trans_wbtw_right_ne [NoZeroSMulDivisors R V] {w x y z : P} (h₁ :
theorem Sbtw.affineCombination_of_mem_affineSpan_pair [NoZeroDivisors R] [NoZeroSMulDivisors R V]
{ι : Type _} {p : ι → P} (ha : AffineIndependent R p) {w w₁ w₂ : ι → R} {s : Finset ι}
- (hw : (∑ i in s, w i) = 1) (hw₁ : (∑ i in s, w₁ i) = 1) (hw₂ : (∑ i in s, w₂ i) = 1)
+ (hw : ∑ i in s, w i = 1) (hw₁ : ∑ i in s, w₁ i = 1) (hw₂ : ∑ i in s, w₂ i = 1)
(h : s.affineCombination R p w ∈
line[R, s.affineCombination R p w₁, s.affineCombination R p w₂])
{i : ι} (his : i ∈ s) (hs : Sbtw R (w₁ i) (w i) (w₂ i)) :
Currently, (for both Set
and Finset
) insert_subset
is an iff
lemma stating that insert a s ⊆ t
if and only if a ∈ t
and s ⊆ t
. For both types, this PR renames this lemma to insert_subset_iff
, and adds an insert_subset
lemma that gives the implication just in the reverse direction : namely theorem insert_subset (ha : a ∈ t) (hs : s ⊆ t) : insert a s ⊆ t
.
This both aligns the naming with union_subset
and union_subset_iff
, and removes the need for the awkward insert_subset.mpr ⟨_,_⟩
idiom. It touches a lot of files (too many to list), but in a trivial way.
@@ -617,7 +617,7 @@ theorem sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair [NoZeroSMulDivisors R V]
refine' affineSpan_pair_le_of_mem_of_mem (mem_affineSpan R (Set.mem_range_self _)) _
have hle : line[R, t.points i₂, t.points i₃] ≤ affineSpan R (Set.range t.points) := by
refine' affineSpan_mono R _
- simp [Set.insert_subset]
+ simp [Set.insert_subset_iff]
rw [AffineSubspace.le_def'] at hle
exact hle _ h₁.wbtw.mem_affineSpan
rw [AffineSubspace.le_def'] at hle
at
and goals (#5387)
Changes are of the form
some_tactic at h⊢
-> some_tactic at h ⊢
some_tactic at h
-> some_tactic at h
@@ -638,7 +638,7 @@ theorem sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair [NoZeroSMulDivisors R V]
rw [← Finset.univ.affineCombination_affineCombinationSingleWeights R t.points
(Finset.mem_univ i₁),
← Finset.univ.affineCombination_affineCombinationLineMapWeights t.points (Finset.mem_univ _)
- (Finset.mem_univ _)] at h₁'⊢
+ (Finset.mem_univ _)] at h₁' ⊢
refine'
Sbtw.affineCombination_of_mem_affineSpan_pair t.Independent hw
(Finset.univ.sum_affineCombinationSingleWeights R (Finset.mem_univ _))
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Joseph Myers
! This file was ported from Lean 3 source module analysis.convex.between
-! leanprover-community/mathlib commit f0c8bf9245297a541f468be517f1bde6195105e9
+! leanprover-community/mathlib commit 571e13cacbed7bf042fd3058ce27157101433842
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -69,6 +69,15 @@ theorem right_mem_affineSegment (x y : P) : y ∈ affineSegment R x y :=
⟨1, Set.right_mem_Icc.2 zero_le_one, lineMap_apply_one _ _⟩
#align right_mem_affine_segment right_mem_affineSegment
+@[simp]
+theorem affineSegment_same (x : P) : affineSegment R x x = {x} := by
+ -- porting note: added as this doesn't do anything in `simp_rw` any more
+ rw [affineSegment]
+ -- porting note: added `_ _` and `Function.const`
+ simp_rw [lineMap_same, AffineMap.coe_const _ _, Function.const,
+ (Set.nonempty_Icc.mpr zero_le_one).image_const]
+#align affine_segment_same affineSegment_same
+
variable {R}
@[simp]
The unported dependencies are