@@ -20,10 +20,10 @@ record FeatureAlgebra {c} (I : Set c) (sum : Op₂ I) (𝟘 : I) : Set (suc c) w
2020 field
2121 monoid : IsMonoid _≡_ _⊕_ 𝟘
2222
23- -- Only the rightmost occurence of an introduction is effective in a sum,
23+ -- Only the leftmost occurence of an introduction is effective in a sum,
2424 -- because it has been introduced first.
2525 -- This is, duplicates of i have no effect.
26- distant-idempotence : ∀ (i₁ i₂ : I) → i₂ ⊕ i₁ ⊕ i₂ ≡ i₁ ⊕ i₂
26+ distant-idempotence : ∀ (i₁ i₂ : I) → i₁ ⊕ i₂ ⊕ i₁ ≡ i₁ ⊕ i₂
2727
2828 open IsMonoid monoid
2929
@@ -33,36 +33,36 @@ record FeatureAlgebra {c} (I : Set c) (sum : Op₂ I) (𝟘 : I) : Set (suc c) w
3333 i ⊕ i
3434 ≡⟨ Eq.cong (i ⊕_) (proj₁ identity i) ⟨
3535 i ⊕ 𝟘 ⊕ i
36- ≡⟨ distant-idempotence 𝟘 i ⟩
37- 𝟘 ⊕ i
38- ≡⟨ proj₁ identity i ⟩
36+ ≡⟨ distant-idempotence i 𝟘 ⟩
37+ i ⊕ 𝟘
38+ ≡⟨ proj₂ identity i ⟩
3939 i
4040 ∎
4141
4242 -- introduction inclusion
4343 infix 6 _≤_
4444 _≤_ : Rel I c
45- i₂ ≤ i₁ = i₂ ⊕ i₁ ≡ i₁
45+ i₂ ≤ i₁ = i₁ ⊕ i₂ ≡ i₁
4646
4747 ≤-refl : Reflexive _≤_
4848 ≤-refl {i} = direct-idempotence i
4949
5050 ≤-trans : Transitive _≤_
5151 ≤-trans {i} {j} {k} i≤j j≤k =
5252 begin
53- i ⊕ k
54- ≡⟨ Eq.cong (i ⊕_ ) j≤k ⟨
55- i ⊕ (j ⊕ k)
56- ≡⟨ Eq.cong (λ x → i ⊕ x ⊕ k ) i≤j ⟨
57- i ⊕ ((i ⊕ j) ⊕ k)
58- ≡⟨ assoc i (i ⊕ j) k ⟨
59- (i ⊕ (i ⊕ j)) ⊕ k
60- ≡⟨ Eq.cong (_⊕ k ) (assoc i i j) ⟨
61- ((i ⊕ i) ⊕ j) ⊕ k
62- ≡⟨ Eq.cong (_⊕ k ) (Eq.cong (_⊕ j ) (direct-idempotence i)) ⟩
63- (i ⊕ j) ⊕ k
64- ≡⟨ Eq.cong (_⊕ k ) i≤j ⟩
65- j ⊕ k
53+ k ⊕ i
54+ ≡⟨ Eq.cong (_⊕ i ) j≤k ⟨
55+ (k ⊕ j) ⊕ i
56+ ≡⟨ Eq.cong (λ x → (k ⊕ x) ⊕ i ) i≤j ⟨
57+ (k ⊕ (j ⊕ i)) ⊕ i
58+ ≡⟨ assoc k (j ⊕ i) i ⟩
59+ k ⊕ ((j ⊕ i) ⊕ i)
60+ ≡⟨ Eq.cong (k ⊕_ ) (assoc j i i) ⟩
61+ k ⊕ (j ⊕ (i ⊕ i))
62+ ≡⟨ Eq.cong (k ⊕_ ) (Eq.cong (j ⊕_ ) (direct-idempotence i)) ⟩
63+ k ⊕ (j ⊕ i)
64+ ≡⟨ Eq.cong (k ⊕_ ) i≤j ⟩
65+ k ⊕ j
6666 ≡⟨ j≤k ⟩
6767 k
6868 ∎
@@ -75,23 +75,30 @@ record FeatureAlgebra {c} (I : Set c) (sum : Op₂ I) (𝟘 : I) : Set (suc c) w
7575 }
7676
7777 least-element : ∀ i → 𝟘 ≤ i
78- least-element = proj₁ identity
78+ least-element = proj₂ identity
7979
8080 least-element-unique : ∀ i → i ≤ 𝟘 → i ≡ 𝟘
81- least-element-unique i i≤𝟘 rewrite (proj₂ identity i) = i≤𝟘
81+ least-element-unique i i≤𝟘 rewrite (proj₁ identity i) = i≤𝟘
8282
8383 upper-bound-l : ∀ i₂ i₁ → i₂ ≤ i₂ ⊕ i₁
8484 upper-bound-l i₂ i₁ =
8585 begin
86- i₂ ⊕ (i₂ ⊕ i₁)
87- ≡⟨ Eq.sym ( assoc i₂ i₂ i₁) ⟩
88- ( i₂ ⊕ i₂) ⊕ i₁
89- ≡⟨ Eq.cong (_⊕ i₁) (direct -idempotence i₂) ⟩
86+ ( i₂ ⊕ i₁) ⊕ i₂
87+ ≡⟨ assoc i₂ i₁ i₂ ⟩
88+ i₂ ⊕ (i₁ ⊕ i₂)
89+ ≡⟨ distant -idempotence i₂ i₁ ⟩
9090 i₂ ⊕ i₁
9191 ∎
9292
9393 upper-bound-r : ∀ i₂ i₁ → i₁ ≤ i₂ ⊕ i₁
94- upper-bound-r i₂ i₁ = distant-idempotence i₂ i₁
94+ upper-bound-r i₂ i₁ =
95+ begin
96+ (i₂ ⊕ i₁) ⊕ i₁
97+ ≡⟨ assoc i₂ i₁ i₁ ⟩
98+ i₂ ⊕ (i₁ ⊕ i₁)
99+ ≡⟨ Eq.cong (i₂ ⊕_) (direct-idempotence i₁) ⟩
100+ i₂ ⊕ i₁
101+ ∎
95102
96103 least-upper-bound : ∀ i i₂ i₁
97104 → i₁ ≤ i
@@ -100,12 +107,12 @@ record FeatureAlgebra {c} (I : Set c) (sum : Op₂ I) (𝟘 : I) : Set (suc c) w
100107 → i₁ ⊕ i₂ ≤ i
101108 least-upper-bound i i₂ i₁ i₁≤i i₂≤i =
102109 begin
103- (i₁ ⊕ i₂) ⊕ i
104- ≡⟨ assoc i₁ i₂ i ⟩
105- i₁ ⊕ (i₂ ⊕ i)
106- ≡⟨ Eq.cong (i₁ ⊕_) i₂≤i ⟩
107- i₁ ⊕ i
108- ≡⟨ i₁ ≤i ⟩
110+ i ⊕ (i₁ ⊕ i₂)
111+ ≡⟨ assoc i i ₁ i₂ ⟨
112+ (i ⊕ i₁) ⊕ i₂
113+ ≡⟨ Eq.cong (_⊕ i₂) i₁ ≤i ⟩
114+ i ⊕ i₂
115+ ≡⟨ i₂ ≤i ⟩
109116 i
110117 ∎
111118
@@ -133,17 +140,15 @@ record FeatureAlgebra {c} (I : Set c) (sum : Op₂ I) (𝟘 : I) : Set (suc c) w
133140 quasi-smaller : ∀ i₂ i₁ → i₂ ⊕ i₁ ≤ i₁ ⊕ i₂
134141 quasi-smaller i₂ i₁ =
135142 begin
136- (i₂ ⊕ i₁) ⊕ i₁ ⊕ i₂
137- ≡⟨⟩
138- (i₂ ⊕ i₁) ⊕ (i₁ ⊕ i₂)
139- ≡⟨ assoc (i₂ ⊕ i₁) i₁ i₂ ⟨
140- ((i₂ ⊕ i₁) ⊕ i₁) ⊕ i₂
141- ≡⟨ Eq.cong (_⊕ i₂) (assoc i₂ i₁ i₁) ⟩
142- (i₂ ⊕ (i₁ ⊕ i₁)) ⊕ i₂
143- ≡⟨ Eq.cong (_⊕ i₂) (Eq.cong (i₂ ⊕_) (direct-idempotence i₁)) ⟩
144- (i₂ ⊕ i₁) ⊕ i₂
145- ≡⟨ assoc i₂ i₁ i₂ ⟩
146- i₂ ⊕ i₁ ⊕ i₂
143+ (i₁ ⊕ i₂) ⊕ (i₂ ⊕ i₁)
144+ ≡⟨ assoc (i₁ ⊕ i₂) i₂ i₁ ⟨
145+ ((i₁ ⊕ i₂) ⊕ i₂) ⊕ i₁
146+ ≡⟨ Eq.cong (_⊕ i₁) (assoc i₁ i₂ i₂) ⟩
147+ (i₁ ⊕ (i₂ ⊕ i₂)) ⊕ i₁
148+ ≡⟨ Eq.cong (_⊕ i₁) (Eq.cong (i₁ ⊕_) (direct-idempotence i₂)) ⟩
149+ (i₁ ⊕ i₂) ⊕ i₁
150+ ≡⟨ assoc i₁ i₂ i₁ ⟩
151+ i₁ ⊕ (i₂ ⊕ i₁)
147152 ≡⟨ distant-idempotence i₁ i₂ ⟩
148153 i₁ ⊕ i₂
149154 ∎
0 commit comments