pseudoelement
⟷
Counterexamples.Pseudoelement
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)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(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)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Riccardo Brasca
-/
import CategoryTheory.Abelian.Pseudoelements
-import Algebra.Category.Module.Biproducts
+import Algebra.Category.ModuleCat.Biproducts
#align_import pseudoelement from "leanprover-community/mathlib"@"08b081ea92d80e3a41f899eea36ef6d56e0f1db0"
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -77,25 +77,25 @@ theorem x_not_pseudo_eq : ¬PseudoEqual _ x y :=
by
intro h
replace h := Module.eq_range_of_pseudoequal h
- dsimp [x, y] at h
+ dsimp [x, y] at h
let φ := biprod.lift (of_hom (id : ℚ →ₗ[ℤ] ℚ)) (of_hom (2 * id))
have mem_range := mem_range_self φ (1 : ℚ)
- rw [h] at mem_range
+ rw [h] at mem_range
obtain ⟨a, ha⟩ := mem_range
rw [← ModuleCat.id_apply (φ (1 : ℚ)), ← biprod.total, ← LinearMap.comp_apply, ← comp_def,
- preadditive.comp_add] at ha
+ preadditive.comp_add] at ha
let π₁ := (biprod.fst : of ℤ ℚ ⊞ of ℤ ℚ ⟶ _)
have ha₁ := congr_arg π₁ ha
- simp only [← LinearMap.comp_apply, ← comp_def] at ha₁
+ simp only [← LinearMap.comp_apply, ← comp_def] at ha₁
simp only [biprod.lift_fst, of_hom_apply, id_coe, id.def, preadditive.add_comp, category.assoc,
- biprod.inl_fst, category.comp_id, biprod.inr_fst, limits.comp_zero, add_zero] at ha₁
+ biprod.inl_fst, category.comp_id, biprod.inr_fst, limits.comp_zero, add_zero] at ha₁
let π₂ := (biprod.snd : of ℤ ℚ ⊞ of ℤ ℚ ⟶ _)
have ha₂ := congr_arg π₂ ha
- simp only [← LinearMap.comp_apply, ← comp_def] at ha₂
+ simp only [← LinearMap.comp_apply, ← comp_def] at ha₂
have : (2 : ℚ →ₗ[ℤ] ℚ) 1 = 1 + 1 := rfl
simp only [ha₁, this, biprod.lift_snd, of_hom_apply, id_coe, id.def, preadditive.add_comp,
category.assoc, biprod.inl_snd, limits.comp_zero, biprod.inr_snd, category.comp_id, zero_add,
- mul_apply, self_eq_add_left] at ha₂
+ mul_apply, self_eq_add_left] at ha₂
exact one_ne_zero' ℚ ha₂
#align counterexample.x_not_pseudo_eq Counterexample.x_not_pseudo_eq
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,8 +3,8 @@ Copyright (c) 2022 Riccardo Brasca. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Riccardo Brasca
-/
-import Mathbin.CategoryTheory.Abelian.Pseudoelements
-import Mathbin.Algebra.Category.Module.Biproducts
+import CategoryTheory.Abelian.Pseudoelements
+import Algebra.Category.Module.Biproducts
#align_import pseudoelement from "leanprover-community/mathlib"@"08b081ea92d80e3a41f899eea36ef6d56e0f1db0"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,15 +2,12 @@
Copyright (c) 2022 Riccardo Brasca. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Riccardo Brasca
-
-! This file was ported from Lean 3 source module pseudoelement
-! leanprover-community/mathlib commit 08b081ea92d80e3a41f899eea36ef6d56e0f1db0
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.CategoryTheory.Abelian.Pseudoelements
import Mathbin.Algebra.Category.Module.Biproducts
+#align_import pseudoelement from "leanprover-community/mathlib"@"08b081ea92d80e3a41f899eea36ef6d56e0f1db0"
+
/-!
# Pseudoelements and pullbacks
mathlib commit https://github.com/leanprover-community/mathlib/commit/bf2428c9486c407ca38b5b3fb10b87dad0bc99fa
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Riccardo Brasca
! This file was ported from Lean 3 source module pseudoelement
-! leanprover-community/mathlib commit 328375597f2c0dd00522d9c2e5a33b6a6128feeb
+! leanprover-community/mathlib commit 08b081ea92d80e3a41f899eea36ef6d56e0f1db0
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -13,6 +13,9 @@ import Mathbin.Algebra.Category.Module.Biproducts
/-!
# Pseudoelements and pullbacks
+
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
Borceux claims in Proposition 1.9.5 that the pseudoelement constructed in
`category_theory.abelian.pseudoelement.pseudo_pullback` is unique. We show here that this claim is
false. This means in particular that we cannot have an extensionality principle for pullbacks in
mathlib commit https://github.com/leanprover-community/mathlib/commit/a3209ddf94136d36e5e5c624b10b2a347cc9d090
@@ -122,8 +122,8 @@ theorem snd_mk'_x_eq_snd_mk'_y :
#align counterexample.snd_mk_x_eq_snd_mk_y Counterexample.snd_mk'_x_eq_snd_mk'_y
-- Porting note: needs explicit type ascription `: Quotient <| Pseudoelement.setoid _`
--- for some reason the setoid instance isn't picked up automatically
--- despite the local instance ~20 lines up
+-- for some reason the setoid instance isn't picked up automatically,
+-- despite the local instance ~20 lines up
/-- `⟦x⟧ ≠ ⟦y⟧`. -/
theorem mk'_x_ne_mk'_y : (⟦x⟧ : Quotient <| Pseudoelement.setoid _) ≠ ⟦y⟧ :=
fun h => x_not_pseudo_eq <| Quotient.eq'.1 h
@@ -89,14 +89,14 @@ theorem x_not_pseudo_eq : ¬PseudoEqual _ x y := by
have ha₁ := congr_arg π₁ ha
-- This used to be `rw`, but we need `erw` after leanprover/lean4#2644
erw [← CategoryTheory.comp_apply, ← CategoryTheory.comp_apply] at ha₁
- simp only [BinaryBiproduct.bicone_fst, biprod.lift_fst, CategoryTheory.id_apply,
+ simp only [π₁, φ, BinaryBiproduct.bicone_fst, biprod.lift_fst, CategoryTheory.id_apply,
biprod.lift_fst_assoc, Category.id_comp, biprod.lift_snd_assoc, Linear.smul_comp,
Preadditive.add_comp, BinaryBicone.inl_fst, BinaryBicone.inr_fst, smul_zero, add_zero] at ha₁
let π₂ := (biprod.snd : of ℤ ℚ ⊞ of ℤ ℚ ⟶ _)
have ha₂ := congr_arg π₂ ha
-- This used to be `rw`, but we need `erw` after leanprover/lean4#2644
erw [← CategoryTheory.comp_apply, ← CategoryTheory.comp_apply] at ha₂
- simp only [BinaryBiproduct.bicone_snd, biprod.lift_snd, CategoryTheory.id_apply,
+ simp only [π₁, π₂, φ, BinaryBiproduct.bicone_snd, biprod.lift_snd, CategoryTheory.id_apply,
biprod.lift_fst_assoc, Category.id_comp, biprod.lift_snd_assoc, Linear.smul_comp,
Preadditive.add_comp, BinaryBicone.inl_snd, BinaryBicone.inr_snd, zero_add, two_smul] at ha₂
erw [add_apply, CategoryTheory.id_apply] at ha₂
@@ -87,13 +87,15 @@ theorem x_not_pseudo_eq : ¬PseudoEqual _ x y := by
Preadditive.comp_add] at ha
let π₁ := (biprod.fst : of ℤ ℚ ⊞ of ℤ ℚ ⟶ _)
have ha₁ := congr_arg π₁ ha
- rw [← CategoryTheory.comp_apply, ← CategoryTheory.comp_apply] at ha₁
+ -- This used to be `rw`, but we need `erw` after leanprover/lean4#2644
+ erw [← CategoryTheory.comp_apply, ← CategoryTheory.comp_apply] at ha₁
simp only [BinaryBiproduct.bicone_fst, biprod.lift_fst, CategoryTheory.id_apply,
biprod.lift_fst_assoc, Category.id_comp, biprod.lift_snd_assoc, Linear.smul_comp,
Preadditive.add_comp, BinaryBicone.inl_fst, BinaryBicone.inr_fst, smul_zero, add_zero] at ha₁
let π₂ := (biprod.snd : of ℤ ℚ ⊞ of ℤ ℚ ⟶ _)
have ha₂ := congr_arg π₂ ha
- rw [← CategoryTheory.comp_apply, ← CategoryTheory.comp_apply] at ha₂
+ -- This used to be `rw`, but we need `erw` after leanprover/lean4#2644
+ erw [← CategoryTheory.comp_apply, ← CategoryTheory.comp_apply] at ha₂
simp only [BinaryBiproduct.bicone_snd, biprod.lift_snd, CategoryTheory.id_apply,
biprod.lift_fst_assoc, Category.id_comp, biprod.lift_snd_assoc, Linear.smul_comp,
Preadditive.add_comp, BinaryBicone.inl_snd, BinaryBicone.inr_snd, zero_add, two_smul] at ha₂
@@ -87,15 +87,13 @@ theorem x_not_pseudo_eq : ¬PseudoEqual _ x y := by
Preadditive.comp_add] at ha
let π₁ := (biprod.fst : of ℤ ℚ ⊞ of ℤ ℚ ⟶ _)
have ha₁ := congr_arg π₁ ha
- -- This used to be `rw`, but we need `erw` after leanprover/lean4#2644
- erw [← CategoryTheory.comp_apply, ← CategoryTheory.comp_apply] at ha₁
+ rw [← CategoryTheory.comp_apply, ← CategoryTheory.comp_apply] at ha₁
simp only [BinaryBiproduct.bicone_fst, biprod.lift_fst, CategoryTheory.id_apply,
biprod.lift_fst_assoc, Category.id_comp, biprod.lift_snd_assoc, Linear.smul_comp,
Preadditive.add_comp, BinaryBicone.inl_fst, BinaryBicone.inr_fst, smul_zero, add_zero] at ha₁
let π₂ := (biprod.snd : of ℤ ℚ ⊞ of ℤ ℚ ⟶ _)
have ha₂ := congr_arg π₂ ha
- -- This used to be `rw`, but we need `erw` after leanprover/lean4#2644
- erw [← CategoryTheory.comp_apply, ← CategoryTheory.comp_apply] at ha₂
+ rw [← CategoryTheory.comp_apply, ← CategoryTheory.comp_apply] at ha₂
simp only [BinaryBiproduct.bicone_snd, biprod.lift_snd, CategoryTheory.id_apply,
biprod.lift_fst_assoc, Category.id_comp, biprod.lift_snd_assoc, Linear.smul_comp,
Preadditive.add_comp, BinaryBicone.inl_snd, BinaryBicone.inr_snd, zero_add, two_smul] at ha₂
@@ -87,13 +87,15 @@ theorem x_not_pseudo_eq : ¬PseudoEqual _ x y := by
Preadditive.comp_add] at ha
let π₁ := (biprod.fst : of ℤ ℚ ⊞ of ℤ ℚ ⟶ _)
have ha₁ := congr_arg π₁ ha
- rw [← CategoryTheory.comp_apply, ← CategoryTheory.comp_apply] at ha₁
+ -- This used to be `rw`, but we need `erw` after leanprover/lean4#2644
+ erw [← CategoryTheory.comp_apply, ← CategoryTheory.comp_apply] at ha₁
simp only [BinaryBiproduct.bicone_fst, biprod.lift_fst, CategoryTheory.id_apply,
biprod.lift_fst_assoc, Category.id_comp, biprod.lift_snd_assoc, Linear.smul_comp,
Preadditive.add_comp, BinaryBicone.inl_fst, BinaryBicone.inr_fst, smul_zero, add_zero] at ha₁
let π₂ := (biprod.snd : of ℤ ℚ ⊞ of ℤ ℚ ⟶ _)
have ha₂ := congr_arg π₂ ha
- rw [← CategoryTheory.comp_apply, ← CategoryTheory.comp_apply] at ha₂
+ -- This used to be `rw`, but we need `erw` after leanprover/lean4#2644
+ erw [← CategoryTheory.comp_apply, ← CategoryTheory.comp_apply] at ha₂
simp only [BinaryBiproduct.bicone_snd, biprod.lift_snd, CategoryTheory.id_apply,
biprod.lift_fst_assoc, Category.id_comp, biprod.lift_snd_assoc, Linear.smul_comp,
Preadditive.add_comp, BinaryBicone.inl_snd, BinaryBicone.inr_snd, zero_add, two_smul] at ha₂
@@ -2,15 +2,12 @@
Copyright (c) 2022 Riccardo Brasca. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Riccardo Brasca
-
-! This file was ported from Lean 3 source module pseudoelement
-! leanprover-community/mathlib commit 328375597f2c0dd00522d9c2e5a33b6a6128feeb
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.CategoryTheory.Abelian.Pseudoelements
import Mathlib.Algebra.Category.ModuleCat.Biproducts
+#align_import pseudoelement from "leanprover-community/mathlib"@"328375597f2c0dd00522d9c2e5a33b6a6128feeb"
+
/-!
# Pseudoelements and pullbacks
Borceux claims in Proposition 1.9.5 that the pseudoelement constructed in
The unported dependencies are