@@ -33,88 +33,90 @@ theorem types_tensorObj_def {X Y : Type u} : X ⊗ Y = (X × Y) := rfl
3333
3434theorem types_tensorUnit_def : 𝟙_ (Type u) = PUnit := rfl
3535
36+ attribute [local simp] types_tensorObj_def types_tensorUnit_def
37+
3638@[simp]
3739theorem tensor_apply {W X Y Z : Type u} (f : W ⟶ X) (g : Y ⟶ Z) (p : W ⊗ Y) :
38- (f ⊗ₘ g) p = (f p.1 , g p.2 ) :=
40+ dsimp% (f ⊗ₘ g) p = (f p.1 , g p.2 ) :=
3941 rfl
4042
4143@[simp]
4244theorem whiskerLeft_apply (X : Type u) {Y Z : Type u} (f : Y ⟶ Z) (p : X ⊗ Y) :
43- (X ◁ f) p = (p.1 , f p.2 ) :=
45+ dsimp% (X ◁ f) p = (p.1 , f p.2 ) :=
4446 rfl
4547
4648@[simp]
4749theorem whiskerRight_apply {Y Z : Type u} (f : Y ⟶ Z) (X : Type u) (p : Y ⊗ X) :
48- (f ▷ X) p = (f p.1 , p.2 ) :=
50+ dsimp% (f ▷ X) p = (f p.1 , p.2 ) :=
4951 rfl
5052
5153@[simp]
5254theorem leftUnitor_hom_apply {X : Type u} {x : X} {p : PUnit} :
53- (( λ_ X).hom : 𝟙_ ( Type u) ⊗ X → X) (p, x) = x :=
55+ dsimp% ( λ_ X).hom (p, x) = x :=
5456 rfl
5557
5658@[simp]
5759theorem leftUnitor_inv_apply {X : Type u} {x : X} :
58- (( λ_ X).inv : X ⟶ 𝟙_ ( Type u) ⊗ X) x = (PUnit.unit, x) :=
60+ dsimp% ( λ_ X).inv x = (PUnit.unit, x) :=
5961 rfl
6062
6163@[simp]
6264theorem rightUnitor_hom_apply {X : Type u} {x : X} {p : PUnit} :
63- (( ρ_ X).hom : X ⊗ 𝟙_ ( Type u) → X) (x, p) = x :=
65+ dsimp% ( ρ_ X).hom (x, p) = x :=
6466 rfl
6567
6668@[simp]
6769theorem rightUnitor_inv_apply {X : Type u} {x : X} :
68- (( ρ_ X).inv : X ⟶ X ⊗ 𝟙_ ( Type u)) x = (x, PUnit.unit) :=
70+ dsimp% ( ρ_ X).inv x = (x, PUnit.unit) :=
6971 rfl
7072
7173@[simp]
7274theorem associator_hom_apply {X Y Z : Type u} {x : X} {y : Y} {z : Z} :
73- (( α_ X Y Z).hom : (X ⊗ Y) ⊗ Z → X ⊗ Y ⊗ Z) ((x, y), z) = (x, (y, z)) :=
75+ dsimp% ( α_ X Y Z).hom ((x, y), z) = (x, (y, z)) :=
7476 rfl
7577
7678@[simp]
7779theorem associator_inv_apply {X Y Z : Type u} {x : X} {y : Y} {z : Z} :
78- (( α_ X Y Z).inv : X ⊗ Y ⊗ Z → (X ⊗ Y) ⊗ Z) (x, (y, z)) = ((x, y), z) :=
80+ dsimp% ( α_ X Y Z).inv (x, (y, z)) = ((x, y), z) :=
7981 rfl
8082
8183@[simp] theorem associator_hom_apply_1 {X Y Z : Type u} {x} :
82- ((( α_ X Y Z).hom : (X ⊗ Y) ⊗ Z → X ⊗ Y ⊗ Z) x).1 = x.1 .1 :=
84+ dsimp% (( α_ X Y Z).hom x).1 = x.1 .1 :=
8385 rfl
8486
8587@[simp] theorem associator_hom_apply_2_1 {X Y Z : Type u} {x} :
86- ((( α_ X Y Z).hom : (X ⊗ Y) ⊗ Z → X ⊗ Y ⊗ Z) x).2 .1 = x.1 .2 :=
88+ dsimp% (( α_ X Y Z).hom x).2 .1 = x.1 .2 :=
8789 rfl
8890
8991@[simp] theorem associator_hom_apply_2_2 {X Y Z : Type u} {x} :
90- ((( α_ X Y Z).hom : (X ⊗ Y) ⊗ Z → X ⊗ Y ⊗ Z) x).2 .2 = x.2 :=
92+ dsimp% (( α_ X Y Z).hom x).2 .2 = x.2 :=
9193 rfl
9294
9395@[simp] theorem associator_inv_apply_1_1 {X Y Z : Type u} {x} :
94- ((( α_ X Y Z).inv : X ⊗ Y ⊗ Z → (X ⊗ Y) ⊗ Z) x).1 .1 = x.1 :=
96+ dsimp% (( α_ X Y Z).inv x).1 .1 = x.1 :=
9597 rfl
9698
9799@[simp] theorem associator_inv_apply_1_2 {X Y Z : Type u} {x} :
98- ((( α_ X Y Z).inv : X ⊗ Y ⊗ Z → (X ⊗ Y) ⊗ Z) x).1 .2 = x.2 .1 :=
100+ dsimp% (( α_ X Y Z).inv x).1 .2 = x.2 .1 :=
99101 rfl
100102
101103@[simp] theorem associator_inv_apply_2 {X Y Z : Type u} {x} :
102- ((( α_ X Y Z).inv : X ⊗ Y ⊗ Z → (X ⊗ Y) ⊗ Z) x).2 = x.2 .2 :=
104+ dsimp% (( α_ X Y Z).inv x).2 = x.2 .2 :=
103105 rfl
104106
105107@[simp]
106108theorem braiding_hom_apply {X Y : Type u} {x : X} {y : Y} :
107- (( β_ X Y).hom : X ⊗ Y → Y ⊗ X) (x, y) = (y, x) :=
109+ dsimp% ( β_ X Y).hom (x, y) = (y, x) :=
108110 rfl
109111
110112@[simp]
111113theorem braiding_inv_apply {X Y : Type u} {x : X} {y : Y} :
112- (( β_ X Y).inv : Y ⊗ X → X ⊗ Y) (y, x) = (x, y) :=
114+ dsimp% ( β_ X Y).inv (y, x) = (x, y) :=
113115 rfl
114116
115117@[simp]
116118theorem CartesianMonoidalCategory.lift_apply {X Y Z : Type u} {f : X ⟶ Y} {g : X ⟶ Z} {x : X} :
117- lift f g x = (f x, g x) :=
119+ dsimp% lift f g x = (f x, g x) :=
118120 rfl
119121
120122-- We don't yet have an API for tensor products indexed by finite ordered types,
0 commit comments