From b14fdf2b738443de71d766aadb07ea1dbc0ced66 Mon Sep 17 00:00:00 2001 From: Shaunticlair <66981420+Shaunticlair@users.noreply.github.com> Date: Mon, 26 Jan 2026 21:04:50 -0500 Subject: [PATCH 1/2] Change coe_singleton type to explicitly convert Set -> _root_.Set Currently, the original version seems to be functionally stating {x}: _root_.Set Object = {x}: _root_.Set Object Which doesn't relate to SetTheory.Set. Here, I've made the initial casting to SetTheory.Set on the lefthand side explicit, so the thoerem actually demonstrates that coercing singleton ({x} : SetTheory.Set) to _root_.Set is the same as if you initially built the singleton in _root_.Set. --- analysis/Analysis/Section_3_1.lean | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/analysis/Analysis/Section_3_1.lean b/analysis/Analysis/Section_3_1.lean index 95e686b2..24f6b533 100644 --- a/analysis/Analysis/Section_3_1.lean +++ b/analysis/Analysis/Section_3_1.lean @@ -855,7 +855,7 @@ theorem SetTheory.Set.coe_ssubset (X Y:Set) : (X : _root_.Set Object) ⊂ (Y : _root_.Set Object) ↔ X ⊂ Y := by sorry /-- Compatibility of singleton -/ -theorem SetTheory.Set.coe_singleton (x: Object) : ({x} : _root_.Set Object) = {x} := by sorry +theorem SetTheory.Set.coe_singleton (x: Object) : (({x}:Set) : _root_.Set Object) = {x} := by sorry /-- Compatibility of union -/ theorem SetTheory.Set.coe_union (X Y: Set) : From 5f9eb6832b7fe48a92396b5b1e81eb41e14798ce Mon Sep 17 00:00:00 2001 From: Shaunticlair <66981420+Shaunticlair@users.noreply.github.com> Date: Wed, 28 Jan 2026 21:56:25 -0500 Subject: [PATCH 2/2] Update addition set coercion theorems with explicit typecasting --- analysis/Analysis/Section_3_1.lean | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/analysis/Analysis/Section_3_1.lean b/analysis/Analysis/Section_3_1.lean index 24f6b533..261af9c4 100644 --- a/analysis/Analysis/Section_3_1.lean +++ b/analysis/Analysis/Section_3_1.lean @@ -859,21 +859,21 @@ theorem SetTheory.Set.coe_singleton (x: Object) : (({x}:Set) : _root_.Set Object /-- Compatibility of union -/ theorem SetTheory.Set.coe_union (X Y: Set) : - (X ∪ Y : _root_.Set Object) = (X : _root_.Set Object) ∪ (Y : _root_.Set Object) := by sorry + ((X ∪ Y:Set) : _root_.Set Object) = (X : _root_.Set Object) ∪ (Y : _root_.Set Object) := by sorry /-- Compatibility of pair -/ -theorem SetTheory.Set.coe_pair (x y: Object) : ({x, y} : _root_.Set Object) = {x, y} := by sorry +theorem SetTheory.Set.coe_pair (x y: Object) : (({x, y}:Set) : _root_.Set Object) = {x, y} := by sorry /-- Compatibility of subtype -/ theorem SetTheory.Set.coe_subtype (X: Set) : (X : _root_.Set Object) = X.toSubtype := by sorry /-- Compatibility of intersection -/ theorem SetTheory.Set.coe_intersection (X Y: Set) : - (X ∩ Y : _root_.Set Object) = (X : _root_.Set Object) ∩ (Y : _root_.Set Object) := by sorry + ((X ∩ Y:Set) : _root_.Set Object) = (X : _root_.Set Object) ∩ (Y : _root_.Set Object) := by sorry /-- Compatibility of set difference-/ theorem SetTheory.Set.coe_diff (X Y: Set) : - (X \ Y : _root_.Set Object) = (X : _root_.Set Object) \ (Y : _root_.Set Object) := by sorry + ((X \ Y:Set) : _root_.Set Object) = (X : _root_.Set Object) \ (Y : _root_.Set Object) := by sorry /-- Compatibility of disjointness -/ theorem SetTheory.Set.coe_Disjoint (X Y: Set) :