diff --git a/UALib/html/Agda.css b/UALib/html/Agda.css index 3a4b225c..86813a50 100644 --- a/UALib/html/Agda.css +++ b/UALib/html/Agda.css @@ -9,6 +9,7 @@ .Agda .PrimitiveType { color: #0000CD } .Agda .Pragma { color: black } .Agda .Operator {} +.Agda .Hole { background: #B4EEB4 } /* NameKinds. */ .Agda .Bound { color: black } @@ -37,3 +38,4 @@ /* Standard attributes. */ .Agda a { text-decoration: none } .Agda a[href]:hover { background-color: #B4EEB4 } +.Agda [href].hover-highlight { background-color: #B4EEB4; } diff --git a/UALib/html/Algebras.Algebras.md b/UALib/html/Algebras.Algebras.md index 36bd5ff2..fef94aaa 100644 --- a/UALib/html/Algebras.Algebras.md +++ b/UALib/html/Algebras.Algebras.md @@ -28,7 +28,7 @@ For a fixed signature `𝑆 : Signature π“ž π“₯` and universe `𝓀`, we defin
 
-Algebra : (𝓀 : Universe)(𝑆 : Signature π“ž π“₯) β†’ π“ž βŠ” π“₯ βŠ” 𝓀 ⁺ Μ‡
+Algebra : (𝓀 : Universe)(𝑆 : Signature π“ž π“₯) β†’ π“ž βŠ” π“₯ βŠ” 𝓀 ⁺ Μ‡
 
 Algebra 𝓀 𝑆 = Ξ£ A κž‰ 𝓀 Μ‡ ,                     -- the domain
               Ξ  f κž‰ ∣ 𝑆 ∣ , Op (βˆ₯ 𝑆 βˆ₯ f) A    -- the basic operations
@@ -47,7 +47,7 @@ Some people prefer to represent algebraic structures in type theory using record
 
 
 
-record algebra (𝓀 : Universe) (𝑆 : Signature π“ž π“₯) : (π“ž βŠ” π“₯ βŠ” 𝓀) ⁺ Μ‡ where
+record algebra (𝓀 : Universe) (𝑆 : Signature π“ž π“₯) : (π“ž βŠ” π“₯ βŠ” 𝓀) ⁺ Μ‡ where
  constructor mkalg
  field
   univ : 𝓀 Μ‡
@@ -65,7 +65,7 @@ This representation of algebras as inhabitants of a record type is equivalent to
  open algebra
 
  algebraβ†’Algebra : algebra 𝓀 𝑆 β†’ Algebra 𝓀 𝑆
- algebraβ†’Algebra 𝑨 = (univ 𝑨 , op 𝑨)
+ algebraβ†’Algebra 𝑨 = (univ 𝑨 , op 𝑨)
 
  Algebraβ†’algebra : Algebra 𝓀 𝑆 β†’ algebra 𝓀 𝑆
  Algebraβ†’algebra 𝑨 = mkalg ∣ 𝑨 ∣ βˆ₯ 𝑨 βˆ₯
@@ -97,21 +97,21 @@ Recall, in the [section on level lifting and lowering](Overture.Lifts.html#level
 
 
 
-module _ {π“˜ : Universe} {I : π“˜ Μ‡}{A : 𝓀 Μ‡} where
+module _ {π“˜ : Universe} {I : π“˜ Μ‡}{A : 𝓀 Μ‡} where
 
  open Lift
 
- Lift-op : Op I A β†’ (𝓦 : Universe) β†’ Op I (Lift{𝓦} A)
+ Lift-op : Op I A β†’ (𝓦 : Universe) β†’ Op I (Lift{𝓦} A)
  Lift-op f 𝓦 = Ξ» x β†’ lift (f (Ξ» i β†’ lower (x i)))
 
 module _ {𝑆 : Signature π“ž π“₯}  where
 
- Lift-alg : Algebra 𝓀 𝑆 β†’ (𝓦 : Universe) β†’ Algebra (𝓀 βŠ” 𝓦) 𝑆
- Lift-alg 𝑨 𝓦 = Lift ∣ 𝑨 ∣ , (Ξ» (𝑓 : ∣ 𝑆 ∣) β†’ Lift-op (𝑓 Μ‚ 𝑨) 𝓦)
+ Lift-alg : Algebra 𝓀 𝑆 β†’ (𝓦 : Universe) β†’ Algebra (𝓀 βŠ” 𝓦) 𝑆
+ Lift-alg 𝑨 𝓦 = Lift ∣ 𝑨 ∣ , (Ξ» (𝑓 : ∣ 𝑆 ∣) β†’ Lift-op (𝑓 Μ‚ 𝑨) 𝓦)
 
  open algebra
 
- Lift-alg-record-type : algebra 𝓀 𝑆 β†’ (𝓦 : Universe) β†’ algebra (𝓀 βŠ” 𝓦) 𝑆
+ Lift-alg-record-type : algebra 𝓀 𝑆 β†’ (𝓦 : Universe) β†’ algebra (𝓀 βŠ” 𝓦) 𝑆
  Lift-alg-record-type 𝑨 𝓦 = mkalg (Lift (univ 𝑨)) (Ξ» (f : ∣ 𝑆 ∣) β†’ Lift-op ((op 𝑨) f) 𝓦)
 
 
@@ -136,7 +136,7 @@ The formal definition is immediate since all the work is done by the relation `|
 
- compatible : (𝑨 : Algebra 𝓀 𝑆) β†’ Rel ∣ 𝑨 ∣ 𝓦 β†’ π“ž βŠ” 𝓀 βŠ” π“₯ βŠ” 𝓦 Μ‡
+ compatible : (𝑨 : Algebra 𝓀 𝑆) β†’ Rel ∣ 𝑨 ∣ 𝓦 β†’ π“ž βŠ” 𝓀 βŠ” π“₯ βŠ” 𝓦 Μ‡
  compatible  𝑨 R = βˆ€ 𝑓 β†’ (𝑓 Μ‚ 𝑨) |: R
 
 
@@ -152,13 +152,13 @@ In the [Relations.Continuous][] module, we defined a function called `cont-compa
 
-module _ {𝓀 𝓦 : Universe} {I : π“₯ Μ‡} {𝑆 : Signature π“ž π“₯} where
+module _ {𝓀 𝓦 : Universe} {I : π“₯ Μ‡} {𝑆 : Signature π“ž π“₯} where
  open import Relations.Continuous using (ContRel; DepRel; cont-compatible-op; dep-compatible-op)
 
- cont-compatible : (𝑨 : Algebra 𝓀 𝑆) β†’ ContRel I ∣ 𝑨 ∣ 𝓦 β†’ π“ž βŠ” 𝓀 βŠ” π“₯ βŠ” 𝓦 Μ‡
+ cont-compatible : (𝑨 : Algebra 𝓀 𝑆) β†’ ContRel I ∣ 𝑨 ∣ 𝓦 β†’ π“ž βŠ” 𝓀 βŠ” π“₯ βŠ” 𝓦 Μ‡
  cont-compatible 𝑨 R = Ξ  𝑓 κž‰ ∣ 𝑆 ∣ , cont-compatible-op (𝑓 Μ‚ 𝑨) R
 
- dep-compatible : (π’œ : I β†’ Algebra 𝓀 𝑆) β†’ DepRel I (Ξ» i β†’ ∣ π’œ  i ∣) 𝓦 β†’ π“ž βŠ” 𝓀 βŠ” π“₯ βŠ” 𝓦 Μ‡
+ dep-compatible : (π’œ : I β†’ Algebra 𝓀 𝑆) β†’ DepRel I (Ξ» i β†’ ∣ π’œ  i ∣) 𝓦 β†’ π“ž βŠ” 𝓀 βŠ” π“₯ βŠ” 𝓦 Μ‡
  dep-compatible π’œ R = Ξ  𝑓 κž‰ ∣ 𝑆 ∣ , dep-compatible-op (Ξ» i β†’ 𝑓 Μ‚ (π’œ i)) R
 
 
diff --git a/UALib/html/Algebras.Congruences.md b/UALib/html/Algebras.Congruences.md index e2d65c64..7e540a9a 100644 --- a/UALib/html/Algebras.Congruences.md +++ b/UALib/html/Algebras.Congruences.md @@ -26,14 +26,14 @@ Formally, we define a record type (`IsCongruence`) to represent the property of
 
-module _ {𝓦 𝓀 : Universe} where
+module _ {𝓦 𝓀 : Universe} where
 
- record IsCongruence (𝑨 : Algebra 𝓀 𝑆)(ΞΈ : Rel ∣ 𝑨 ∣ 𝓦) : ov 𝓦 βŠ” 𝓀 Μ‡  where
+ record IsCongruence (𝑨 : Algebra 𝓀 𝑆)(ΞΈ : Rel ∣ 𝑨 ∣ 𝓦) : ov 𝓦 βŠ” 𝓀 Μ‡  where
   constructor mkcon
   field       is-equivalence : IsEquivalence ΞΈ
               is-compatible  : compatible 𝑨 ΞΈ
 
- Con : (𝑨 : Algebra 𝓀 𝑆) β†’ 𝓀 βŠ” ov 𝓦 Μ‡
+ Con : (𝑨 : Algebra 𝓀 𝑆) β†’ 𝓀 βŠ” ov 𝓦 Μ‡
  Con 𝑨 = Ξ£ ΞΈ κž‰ ( Rel ∣ 𝑨 ∣ 𝓦 ) , IsCongruence 𝑨 ΞΈ
 
 
@@ -44,9 +44,9 @@ Each of these types captures what it means to be a congruence and they are equiv
 
 
  IsCongruenceβ†’Con : {𝑨 : Algebra 𝓀 𝑆}(ΞΈ : Rel ∣ 𝑨 ∣ 𝓦) β†’ IsCongruence 𝑨 ΞΈ β†’ Con 𝑨
- IsCongruence→Con θ p = θ , p
+ IsCongruence→Con θ p = θ , p
 
- Conβ†’IsCongruence : {𝑨 : Algebra 𝓀 𝑆} β†’ ((ΞΈ , _) : Con 𝑨) β†’ IsCongruence 𝑨 ΞΈ
+ Conβ†’IsCongruence : {𝑨 : Algebra 𝓀 𝑆} β†’ ((ΞΈ , _) : Con 𝑨) β†’ IsCongruence 𝑨 ΞΈ
  Conβ†’IsCongruence ΞΈ = βˆ₯ ΞΈ βˆ₯
 
 
@@ -93,11 +93,11 @@ In many areas of abstract mathematics the *quotient* of an algebra `𝑨` with r
 
-module _ {𝓀 𝓦 : Universe} where
+module _ {𝓀 𝓦 : Universe} where
 
- _β•±_ : (𝑨 : Algebra 𝓀 𝑆) β†’ Con{𝓦} 𝑨 β†’ Algebra (𝓀 βŠ” 𝓦 ⁺) 𝑆
+ _β•±_ : (𝑨 : Algebra 𝓀 𝑆) β†’ Con{𝓦} 𝑨 β†’ Algebra (𝓀 βŠ” 𝓦 ⁺) 𝑆
 
- 𝑨 β•± ΞΈ = (∣ 𝑨 ∣ / ∣ ΞΈ ∣)  ,                               -- the domain of the quotient algebra
+ 𝑨 β•± ΞΈ = (∣ 𝑨 ∣ / ∣ ΞΈ ∣)  ,                               -- the domain of the quotient algebra
 
          Ξ» 𝑓 π‘Ž β†’ βŸͺ (𝑓 Μ‚ 𝑨)(Ξ» i β†’  fst βˆ₯ π‘Ž i βˆ₯) ⟫           -- the basic operations of the quotient algebra
 
@@ -108,8 +108,8 @@ In many areas of abstract mathematics the *quotient* of an algebra `𝑨` with r
 
 
 
- 𝟘[_β•±_] : (𝑨 : Algebra 𝓀 𝑆)(ΞΈ : Con {𝓦} 𝑨) β†’ Rel (∣ 𝑨 ∣ / ∣ ΞΈ ∣)(𝓀 βŠ” 𝓦 ⁺)
- 𝟘[ 𝑨 β•± ΞΈ ] = Ξ» u v β†’ u ≑ v
+ 𝟘[_β•±_] : (𝑨 : Algebra 𝓀 𝑆)(ΞΈ : Con {𝓦} 𝑨) β†’ Rel (∣ 𝑨 ∣ / ∣ ΞΈ ∣)(𝓀 βŠ” 𝓦 ⁺)
+ 𝟘[ 𝑨 β•± ΞΈ ] = Ξ» u v β†’ u ≑ v
 
 
@@ -117,8 +117,8 @@ From this we easily obtain the zero congruence of `𝑨 β•± ΞΈ` by applying the
 
- 𝟎[_β•±_] : (𝑨 : Algebra 𝓀 𝑆)(ΞΈ : Con{𝓦} 𝑨){fe : funext π“₯ (𝓀 βŠ” 𝓦 ⁺)} β†’ Con (𝑨 β•± ΞΈ)
- 𝟎[ 𝑨 β•± ΞΈ ] {fe} = 𝟘[ 𝑨 β•± ΞΈ ] , Ξ” (𝑨 β•± ΞΈ) {fe}
+ 𝟎[_β•±_] : (𝑨 : Algebra 𝓀 𝑆)(ΞΈ : Con{𝓦} 𝑨){fe : funext π“₯ (𝓀 βŠ” 𝓦 ⁺)} β†’ Con (𝑨 β•± ΞΈ)
+ 𝟎[ 𝑨 β•± ΞΈ ] {fe} = 𝟘[ 𝑨 β•± ΞΈ ] , Ξ” (𝑨 β•± ΞΈ) {fe}
 
 
@@ -127,10 +127,10 @@ Finally, the following elimination rule is sometimes useful.
 
-module _ {𝓀 𝓦 : Universe}{𝑨 : Algebra 𝓀 𝑆} where
+module _ {𝓀 𝓦 : Universe}{𝑨 : Algebra 𝓀 𝑆} where
  open IsCongruence
 
- /-≑ : (ΞΈ : Con{𝓦} 𝑨){u v : ∣ 𝑨 ∣} β†’ βŸͺ u ⟫ {∣ ΞΈ ∣} ≑ βŸͺ v ⟫ β†’ ∣ ΞΈ ∣ u v
+ /-≑ : (ΞΈ : Con{𝓦} 𝑨){u v : ∣ 𝑨 ∣} β†’ βŸͺ u ⟫ {∣ ΞΈ ∣} ≑ βŸͺ v ⟫ β†’ ∣ ΞΈ ∣ u v
  /-≑ ΞΈ refl = IsEquivalence.rfl (is-equivalence βˆ₯ ΞΈ βˆ₯)
 
 
diff --git a/UALib/html/Algebras.Products.md b/UALib/html/Algebras.Products.md index 0fea2eee..24094f90 100644 --- a/UALib/html/Algebras.Products.md +++ b/UALib/html/Algebras.Products.md @@ -32,11 +32,11 @@ In the [UALib][] a *product of* 𝑆-*algebras* is represented by the following
 
-module _ {𝓀 π“˜ : Universe}{I : π“˜ Μ‡ } where
+module _ {𝓀 π“˜ : Universe}{I : π“˜ Μ‡ } where
 
- β¨… : (π’œ : I β†’ Algebra 𝓀 𝑆 ) β†’ Algebra (π“˜ βŠ” 𝓀) 𝑆
+ β¨… : (π’œ : I β†’ Algebra 𝓀 𝑆 ) β†’ Algebra (π“˜ βŠ” 𝓀) 𝑆
 
- β¨… π’œ = (Ξ  i κž‰ I , ∣ π’œ i ∣) ,            -- domain of the product algebra
+ β¨… π’œ = (Ξ  i κž‰ I , ∣ π’œ i ∣) ,            -- domain of the product algebra
        Ξ» 𝑓 π‘Ž i β†’ (𝑓 Μ‚ π’œ i) Ξ» x β†’ π‘Ž x i   -- basic operations of the product algebra
 
 
@@ -49,7 +49,7 @@ The type just defined is the one that will be used throughout the [UALib][] when open algebra - β¨…' : (π’œ : I β†’ algebra 𝓀 𝑆) β†’ algebra (π“˜ βŠ” 𝓀) 𝑆 + β¨…' : (π’œ : I β†’ algebra 𝓀 𝑆) β†’ algebra (π“˜ βŠ” 𝓀) 𝑆 β¨…' π’œ = record { univ = βˆ€ i β†’ univ (π’œ i) ; -- domain op = Ξ» 𝑓 π‘Ž i β†’ (op (π’œ i)) 𝑓 Ξ» x β†’ π‘Ž x i } -- basic operations @@ -62,8 +62,8 @@ The type just defined is the one that will be used throughout the [UALib][] when
 
-ov : Universe β†’ Universe
-ov 𝓀 = π“ž βŠ” π“₯ βŠ” 𝓀 ⁺
+ov : Universe β†’ Universe
+ov 𝓀 = π“ž βŠ” π“₯ βŠ” 𝓀 ⁺
 
 
@@ -85,7 +85,7 @@ The solution is to essentially take `𝒦` itself to be the indexing type, at le
 
-module class-products {𝓀 : Universe} (𝒦 : Pred (Algebra 𝓀 𝑆)(ov 𝓀)) where
+module class-products {𝓀 : Universe} (𝒦 : Pred (Algebra 𝓀 𝑆)(ov 𝓀)) where
 
  β„‘ : ov 𝓀 Μ‡
  β„‘ = Ξ£ 𝑨 κž‰ (Algebra 𝓀 𝑆) , (𝑨 ∈ 𝒦)
diff --git a/UALib/html/Algebras.Signatures.md b/UALib/html/Algebras.Signatures.md
index c61cef65..2697e6d1 100644
--- a/UALib/html/Algebras.Signatures.md
+++ b/UALib/html/Algebras.Signatures.md
@@ -13,7 +13,7 @@ This section presents the [Algebras.Signatures][] module of the [Agda Universal
 
 {-# OPTIONS --without-K --exact-split --safe #-}
 
-open import Universes using (𝓀₀)
+open import Universes using (𝓀₀)
 
 module Algebras.Signatures where
 
@@ -28,7 +28,7 @@ We define the signature of an algebraic structure in Agda like this.
 
 
 
-Signature : (π“ž π“₯ : Universe) β†’ (π“ž βŠ” π“₯) ⁺ Μ‡
+Signature : (π“ž π“₯ : Universe) β†’ (π“ž βŠ” π“₯) ⁺ Μ‡
 Signature π“ž π“₯ = Ξ£ F κž‰ π“ž Μ‡ , (F β†’ π“₯ Μ‡)
 
 
@@ -45,13 +45,13 @@ Here is how we could define the signature for monoids as a member of the type `S
 
-data monoid-op {π“ž : Universe} : π“ž Μ‡ where
+data monoid-op {π“ž : Universe} : π“ž Μ‡ where
  e : monoid-op; Β· : monoid-op
 
 open import MGS-MLTT using (𝟘; 𝟚)
 
-monoid-sig : Signature π“ž 𝓀₀
-monoid-sig = monoid-op , Ξ» { e β†’ 𝟘; Β· β†’ 𝟚 }
+monoid-sig : Signature π“ž 𝓀₀
+monoid-sig = monoid-op , Ξ» { e β†’ 𝟘; Β· β†’ 𝟚 }
 
 
diff --git a/UALib/html/Homomorphisms.Basic.md b/UALib/html/Homomorphisms.Basic.md index 5e907ef3..1b68cc6d 100644 --- a/UALib/html/Homomorphisms.Basic.md +++ b/UALib/html/Homomorphisms.Basic.md @@ -32,10 +32,10 @@ To formalize this concept, we first define a type representing the assertion tha
 
-module _ {𝓀 𝓦 : Universe}(𝑨 : Algebra 𝓀 𝑆)(𝑩 : Algebra 𝓦 𝑆) where
+module _ {𝓀 𝓦 : Universe}(𝑨 : Algebra 𝓀 𝑆)(𝑩 : Algebra 𝓦 𝑆) where
 
- compatible-op-map : ∣ 𝑆 ∣ β†’ (∣ 𝑨 ∣ β†’ ∣ 𝑩 ∣) β†’ 𝓀 βŠ” π“₯ βŠ” 𝓦 Μ‡
- compatible-op-map 𝑓 h = βˆ€ π‘Ž β†’ h ((𝑓 Μ‚ 𝑨) π‘Ž) ≑ (𝑓 Μ‚ 𝑩) (h ∘ π‘Ž)
+ compatible-op-map : ∣ 𝑆 ∣ β†’ (∣ 𝑨 ∣ β†’ ∣ 𝑩 ∣) β†’ 𝓀 βŠ” π“₯ βŠ” 𝓦 Μ‡
+ compatible-op-map 𝑓 h = βˆ€ π‘Ž β†’ h ((𝑓 Μ‚ 𝑨) π‘Ž) ≑ (𝑓 Μ‚ 𝑩) (h ∘ π‘Ž)
 
 
@@ -45,10 +45,10 @@ We now define the type `hom 𝑨 𝑩` of homomorphisms from `𝑨` to `𝑩` by
 
- is-homomorphism : (∣ 𝑨 ∣ β†’ ∣ 𝑩 ∣) β†’ π“ž βŠ” π“₯ βŠ” 𝓀 βŠ” 𝓦 Μ‡
+ is-homomorphism : (∣ 𝑨 ∣ β†’ ∣ 𝑩 ∣) β†’ π“ž βŠ” π“₯ βŠ” 𝓀 βŠ” 𝓦 Μ‡
  is-homomorphism g = βˆ€ 𝑓  β†’  compatible-op-map 𝑓 g
 
- hom : π“ž βŠ” π“₯ βŠ” 𝓀 βŠ” 𝓦 Μ‡
+ hom : π“ž βŠ” π“₯ βŠ” 𝓀 βŠ” 𝓦 Μ‡
  hom = Ξ£ g κž‰ (∣ 𝑨 ∣ β†’ ∣ 𝑩 ∣ ) , is-homomorphism g
 
 
@@ -59,10 +59,10 @@ Let's look at a few examples of homomorphisms. These examples are actually quite
 
-module _ {𝓀 : Universe} where
+module _ {𝓀 : Universe} where
 
  𝒾𝒹 : (A : Algebra 𝓀 𝑆) β†’ hom A A
- 𝒾𝒹 _ = id , Ξ» 𝑓 π‘Ž β†’ refl
+ 𝒾𝒹 _ = id , Ξ» 𝑓 π‘Ž β†’ refl
 
 
@@ -72,11 +72,11 @@ Next, `lift` and `lower`, defined in the [Overture.Lifts][] module, are (the map open Lift - 𝓁𝒾𝒻𝓉 : {𝓦 : Universe}{𝑨 : Algebra 𝓀 𝑆} β†’ hom 𝑨 (Lift-alg 𝑨 𝓦) - 𝓁𝒾𝒻𝓉 = lift , Ξ» 𝑓 π‘Ž β†’ refl + 𝓁𝒾𝒻𝓉 : {𝓦 : Universe}{𝑨 : Algebra 𝓀 𝑆} β†’ hom 𝑨 (Lift-alg 𝑨 𝓦) + 𝓁𝒾𝒻𝓉 = lift , Ξ» 𝑓 π‘Ž β†’ refl - π“β„΄π“Œβ„―π“‡ : {𝓦 : Universe}{𝑨 : Algebra 𝓀 𝑆} β†’ hom (Lift-alg 𝑨 𝓦) 𝑨 - π“β„΄π“Œβ„―π“‡ = lower , Ξ» 𝑓 π‘Ž β†’ refl + π“β„΄π“Œβ„―π“‡ : {𝓦 : Universe}{𝑨 : Algebra 𝓀 𝑆} β†’ hom (Lift-alg 𝑨 𝓦) 𝑨 + π“β„΄π“Œβ„―π“‡ = lower , Ξ» 𝑓 π‘Ž β†’ refl
@@ -89,18 +89,18 @@ A *monomorphism* is an injective homomorphism and an *epimorphism* is a surjecti
 
-module _ {𝓀 𝓦 : Universe} where
+module _ {𝓀 𝓦 : Universe} where
 
- is-monomorphism : (𝑨 : Algebra 𝓀 𝑆)(𝑩 : Algebra 𝓦 𝑆) β†’ (∣ 𝑨 ∣ β†’ ∣ 𝑩 ∣) β†’ π“ž βŠ” π“₯ βŠ” 𝓀 βŠ” 𝓦 Μ‡
+ is-monomorphism : (𝑨 : Algebra 𝓀 𝑆)(𝑩 : Algebra 𝓦 𝑆) β†’ (∣ 𝑨 ∣ β†’ ∣ 𝑩 ∣) β†’ π“ž βŠ” π“₯ βŠ” 𝓀 βŠ” 𝓦 Μ‡
  is-monomorphism 𝑨 𝑩 g = is-homomorphism 𝑨 𝑩 g Γ— Monic g
 
- mon : Algebra 𝓀 𝑆 β†’ Algebra 𝓦 𝑆  β†’ π“ž βŠ” π“₯ βŠ” 𝓀 βŠ” 𝓦 Μ‡
+ mon : Algebra 𝓀 𝑆 β†’ Algebra 𝓦 𝑆  β†’ π“ž βŠ” π“₯ βŠ” 𝓀 βŠ” 𝓦 Μ‡
  mon 𝑨 𝑩 = Ξ£ g κž‰ (∣ 𝑨 ∣ β†’ ∣ 𝑩 ∣) , is-monomorphism 𝑨 𝑩 g
 
- is-epimorphism : (𝑨 : Algebra 𝓀 𝑆)(𝑩 : Algebra 𝓦 𝑆) β†’ (∣ 𝑨 ∣ β†’ ∣ 𝑩 ∣) β†’ π“ž βŠ” π“₯ βŠ” 𝓀 βŠ” 𝓦 Μ‡
+ is-epimorphism : (𝑨 : Algebra 𝓀 𝑆)(𝑩 : Algebra 𝓦 𝑆) β†’ (∣ 𝑨 ∣ β†’ ∣ 𝑩 ∣) β†’ π“ž βŠ” π“₯ βŠ” 𝓀 βŠ” 𝓦 Μ‡
  is-epimorphism 𝑨 𝑩 g = is-homomorphism 𝑨 𝑩 g Γ— Epic g
 
- epi : Algebra 𝓀 𝑆 β†’ Algebra 𝓦 𝑆  β†’ π“ž βŠ” π“₯ βŠ” 𝓀 βŠ” 𝓦 Μ‡
+ epi : Algebra 𝓀 𝑆 β†’ Algebra 𝓦 𝑆  β†’ π“ž βŠ” π“₯ βŠ” 𝓀 βŠ” 𝓦 Μ‡
  epi 𝑨 𝑩 = Ξ£ g κž‰ (∣ 𝑨 ∣ β†’ ∣ 𝑩 ∣) , is-epimorphism 𝑨 𝑩 g
 
 
@@ -110,10 +110,10 @@ It will be convenient to have a function that takes an inhabitant of `mon` (or `
 
  mon-to-hom : (𝑨 : Algebra 𝓀 𝑆){𝑩 : Algebra 𝓦 𝑆} β†’ mon 𝑨 𝑩 β†’ hom 𝑨 𝑩
- mon-to-hom 𝑨 Ο• = ∣ Ο• ∣ , fst βˆ₯ Ο• βˆ₯
+ mon-to-hom 𝑨 Ο• = ∣ Ο• ∣ , fst βˆ₯ Ο• βˆ₯
 
  epi-to-hom : {𝑨 : Algebra 𝓀 𝑆}(𝑩 : Algebra 𝓦 𝑆) β†’ epi 𝑨 𝑩 β†’ hom 𝑨 𝑩
- epi-to-hom _ Ο• = ∣ Ο• ∣ , fst βˆ₯ Ο• βˆ₯
+ epi-to-hom _ Ο• = ∣ Ο• ∣ , fst βˆ₯ Ο• βˆ₯
 
 
@@ -128,9 +128,9 @@ The kernel of a homomorphism is a congruence relation and conversely for every c
 
-module _ {𝓀 𝓦 : Universe}{𝑨 : Algebra 𝓀 𝑆} where
+module _ {𝓀 𝓦 : Universe}{𝑨 : Algebra 𝓀 𝑆} where
 
- homker-compatible : dfunext π“₯ 𝓦 β†’ (𝑩 : Algebra 𝓦 𝑆)(h : hom 𝑨 𝑩) β†’ compatible 𝑨 (ker ∣ h ∣)
+ homker-compatible : dfunext π“₯ 𝓦 β†’ (𝑩 : Algebra 𝓦 𝑆)(h : hom 𝑨 𝑩) β†’ compatible 𝑨 (ker ∣ h ∣)
  homker-compatible fe 𝑩 h f {u}{v} Kerhab = ∣ h ∣ ((f Μ‚ 𝑨) u)   β‰‘βŸ¨ βˆ₯ h βˆ₯ f u ⟩
                                             (f Μ‚ 𝑩)(∣ h ∣ ∘ u)  β‰‘βŸ¨ ap (f Μ‚ 𝑩)(fe Ξ» x β†’ Kerhab x) ⟩
                                             (f Μ‚ 𝑩)(∣ h ∣ ∘ v)  β‰‘βŸ¨ (βˆ₯ h βˆ₯ f v)⁻¹ ⟩
@@ -142,8 +142,8 @@ It is convenient to define a function that takes a homomorphism and constructs a
 
 
 
- kercon : (𝑩 : Algebra 𝓦 𝑆){fe : dfunext π“₯ 𝓦} β†’ hom 𝑨 𝑩 β†’ Con{𝓦} 𝑨
- kercon 𝑩 {fe} h = ker ∣ h ∣ , mkcon (ker-IsEquivalence ∣ h ∣)(homker-compatible fe 𝑩 h)
+ kercon : (𝑩 : Algebra 𝓦 𝑆){fe : dfunext π“₯ 𝓦} β†’ hom 𝑨 𝑩 β†’ Con{𝓦} 𝑨
+ kercon 𝑩 {fe} h = ker ∣ h ∣ , mkcon (ker-IsEquivalence ∣ h ∣)(homker-compatible fe 𝑩 h)
 
 
@@ -151,11 +151,11 @@ With this congruence we construct the corresponding quotient, along with some sy
 
- kerquo : dfunext π“₯ 𝓦 β†’ {𝑩 : Algebra 𝓦 𝑆} β†’ hom 𝑨 𝑩 β†’ Algebra (𝓀 βŠ” 𝓦 ⁺) 𝑆
+ kerquo : dfunext π“₯ 𝓦 β†’ {𝑩 : Algebra 𝓦 𝑆} β†’ hom 𝑨 𝑩 β†’ Algebra (𝓀 βŠ” 𝓦 ⁺) 𝑆
  kerquo fe {𝑩} h = 𝑨 β•± (kercon 𝑩 {fe} h)
 
 
-_[_]/ker_β†Ύ_ : (𝑨 : Algebra 𝓀 𝑆)(𝑩 : Algebra 𝓦 𝑆) β†’ hom 𝑨 𝑩 β†’ dfunext π“₯ 𝓦 β†’ Algebra (𝓀 βŠ” 𝓦 ⁺) 𝑆
+_[_]/ker_β†Ύ_ : (𝑨 : Algebra 𝓀 𝑆)(𝑩 : Algebra 𝓦 𝑆) β†’ hom 𝑨 𝑩 β†’ dfunext π“₯ 𝓦 β†’ Algebra (𝓀 βŠ” 𝓦 ⁺) 𝑆
 𝑨 [ 𝑩 ]/ker h β†Ύ fe = kerquo fe {𝑩} h
 
 infix 60 _[_]/ker_β†Ύ_
@@ -172,11 +172,11 @@ Given an algebra `𝑨` and a congruence `ΞΈ`, the *canonical projection* is a m
 
 
 
-module _ {𝓀 𝓦 : Universe}{𝑨 : Algebra 𝓀 𝑆} where
+module _ {𝓀 𝓦 : Universe}{𝑨 : Algebra 𝓀 𝑆} where
  Ο€epi : (ΞΈ : Con{𝓦} 𝑨) β†’ epi 𝑨 (𝑨 β•± ΞΈ)
- Ο€epi ΞΈ = (Ξ» a β†’ βŸͺ a ⟫) , (Ξ» _ _ β†’ refl) , cΟ€-is-epic  where
+ Ο€epi ΞΈ = (Ξ» a β†’ βŸͺ a ⟫) , (Ξ» _ _ β†’ refl) , cΟ€-is-epic  where
   cΟ€-is-epic : Epic (Ξ» a β†’ βŸͺ a ⟫)
-  cΟ€-is-epic (C , (a , refl)) =  Image_βˆ‹_.im a
+  cΟ€-is-epic (C , (a , refl)) =  Image_βˆ‹_.im a
 
 
@@ -194,7 +194,7 @@ We combine the foregoing to define a function that takes 𝑆-algebras `𝑨` an
 
- Ο€ker : (𝑩 : Algebra 𝓦 𝑆){fe : dfunext π“₯ 𝓦}(h : hom 𝑨 𝑩) β†’ epi 𝑨 (𝑨 [ 𝑩 ]/ker h β†Ύ fe)
+ Ο€ker : (𝑩 : Algebra 𝓦 𝑆){fe : dfunext π“₯ 𝓦}(h : hom 𝑨 𝑩) β†’ epi 𝑨 (𝑨 [ 𝑩 ]/ker h β†Ύ fe)
  Ο€ker 𝑩 {fe} h = Ο€epi (kercon 𝑩 {fe} h)
 
 
@@ -205,7 +205,7 @@ The kernel of the canonical projection of `𝑨` onto `𝑨 / ΞΈ` is equal to ` open IsCongruence - ker-in-con : {fe : dfunext π“₯ (𝓀 βŠ” 𝓦 ⁺)}(ΞΈ : Con{𝓦} 𝑨) + ker-in-con : {fe : dfunext π“₯ (𝓀 βŠ” 𝓦 ⁺)}(ΞΈ : Con{𝓦} 𝑨) β†’ βˆ€ {x}{y} β†’ ∣ kercon (𝑨 β•± ΞΈ){fe} (Ο€hom ΞΈ) ∣ x y β†’ ∣ ΞΈ ∣ x y ker-in-con ΞΈ hyp = /-≑ ΞΈ hyp @@ -222,10 +222,10 @@ If in addition we have a family `𝒽 : (i : I) β†’ hom 𝑨 (ℬ i)` of homomor
 
-module _ {π“˜ 𝓦 : Universe}{I : π“˜ Μ‡}(ℬ : I β†’ Algebra 𝓦 𝑆) where
+module _ {π“˜ 𝓦 : Universe}{I : π“˜ Μ‡}(ℬ : I β†’ Algebra 𝓦 𝑆) where
 
- β¨…-hom-co : dfunext π“˜ 𝓦 β†’ {𝓀 : Universe}(𝑨 : Algebra 𝓀 𝑆) β†’ Ξ  i κž‰ I , hom 𝑨 (ℬ i) β†’ hom 𝑨 (β¨… ℬ)
- β¨…-hom-co fe 𝑨 𝒽 = (Ξ» a i β†’ ∣ 𝒽 i ∣ a) , (Ξ» 𝑓 𝒢 β†’ fe Ξ» i β†’ βˆ₯ 𝒽 i βˆ₯ 𝑓 𝒢)
+ β¨…-hom-co : dfunext π“˜ 𝓦 β†’ {𝓀 : Universe}(𝑨 : Algebra 𝓀 𝑆) β†’ Ξ  i κž‰ I , hom 𝑨 (ℬ i) β†’ hom 𝑨 (β¨… ℬ)
+ β¨…-hom-co fe 𝑨 𝒽 = (Ξ» a i β†’ ∣ 𝒽 i ∣ a) , (Ξ» 𝑓 𝒢 β†’ fe Ξ» i β†’ βˆ₯ 𝒽 i βˆ₯ 𝑓 𝒢)
 
 
@@ -238,8 +238,8 @@ The foregoing generalizes easily to the case in which the domain is also a produ
 
- β¨…-hom : dfunext π“˜ 𝓦 β†’ {𝓀 : Universe}(π’œ : I β†’ Algebra 𝓀 𝑆) β†’ Ξ  i κž‰ I , hom (π’œ i)(ℬ i) β†’ hom (β¨… π’œ)(β¨… ℬ)
- β¨…-hom fe π’œ 𝒽 = (Ξ» x i β†’ ∣ 𝒽 i ∣ (x i)) , (Ξ» 𝑓 𝒢 β†’ fe Ξ» i β†’ βˆ₯ 𝒽 i βˆ₯ 𝑓 (Ξ» x β†’ 𝒢 x i))
+ β¨…-hom : dfunext π“˜ 𝓦 β†’ {𝓀 : Universe}(π’œ : I β†’ Algebra 𝓀 𝑆) β†’ Ξ  i κž‰ I , hom (π’œ i)(ℬ i) β†’ hom (β¨… π’œ)(β¨… ℬ)
+ β¨…-hom fe π’œ 𝒽 = (Ξ» x i β†’ ∣ 𝒽 i ∣ (x i)) , (Ξ» 𝑓 𝒢 β†’ fe Ξ» i β†’ βˆ₯ 𝒽 i βˆ₯ 𝑓 (Ξ» x β†’ 𝒢 x i))
 
 
@@ -252,7 +252,7 @@ Later we will need a proof of the fact that projecting out of a product algebra
 
  β¨…-projection-hom : Ξ  i κž‰ I , hom (β¨… ℬ) (ℬ i)
- β¨…-projection-hom = Ξ» x β†’ (Ξ» z β†’ z x) , Ξ» _ _ β†’ refl
+ β¨…-projection-hom = Ξ» x β†’ (Ξ» z β†’ z x) , Ξ» _ _ β†’ refl
 
 
diff --git a/UALib/html/Homomorphisms.HomomorphicImages.md b/UALib/html/Homomorphisms.HomomorphicImages.md index 01ab2f65..3b82b577 100644 --- a/UALib/html/Homomorphisms.HomomorphicImages.md +++ b/UALib/html/Homomorphisms.HomomorphicImages.md @@ -28,12 +28,12 @@ We begin with what seems, for our purposes, the most useful way to represent the
 
-module _ {𝓀 𝓦 : Universe} where
+module _ {𝓀 𝓦 : Universe} where
 
- HomImage : {𝑨 : Algebra 𝓀 𝑆}(𝑩 : Algebra 𝓦 𝑆)(Ο• : hom 𝑨 𝑩) β†’ ∣ 𝑩 ∣ β†’ 𝓀 βŠ” 𝓦 Μ‡
+ HomImage : {𝑨 : Algebra 𝓀 𝑆}(𝑩 : Algebra 𝓦 𝑆)(Ο• : hom 𝑨 𝑩) β†’ ∣ 𝑩 ∣ β†’ 𝓀 βŠ” 𝓦 Μ‡
  HomImage 𝑩 Ο• = Ξ» b β†’ Image ∣ Ο• ∣ βˆ‹ b
 
- HomImagesOf : Algebra 𝓀 𝑆 β†’ π“ž βŠ” π“₯ βŠ” 𝓀 βŠ” 𝓦 ⁺ Μ‡
+ HomImagesOf : Algebra 𝓀 𝑆 β†’ π“ž βŠ” π“₯ βŠ” 𝓀 βŠ” 𝓦 ⁺ Μ‡
  HomImagesOf 𝑨 = Ξ£ 𝑩 κž‰ (Algebra 𝓦 𝑆) , Ξ£ Ο• κž‰ (∣ 𝑨 ∣ β†’ ∣ 𝑩 ∣) , is-homomorphism 𝑨 𝑩 Ο• Γ— Epic Ο•
 
 
@@ -44,7 +44,7 @@ Since we take the class of homomorphic images of an algebra to be closed under i
 
- _is-hom-image-of_ : (𝑩 : Algebra 𝓦 𝑆)(𝑨 : Algebra 𝓀 𝑆) β†’ ov 𝓦 βŠ” 𝓀 Μ‡
+ _is-hom-image-of_ : (𝑩 : Algebra 𝓦 𝑆)(𝑨 : Algebra 𝓀 𝑆) β†’ ov 𝓦 βŠ” 𝓀 Μ‡
  𝑩 is-hom-image-of 𝑨 = Ξ£ π‘ͺΟ• κž‰ (HomImagesOf 𝑨) , ∣ π‘ͺΟ• ∣ β‰… 𝑩
 
 
@@ -56,12 +56,12 @@ Given a class `𝒦` of `𝑆`-algebras, we need a type that expresses the asser
 
-module _ {𝓀 : Universe} where
+module _ {𝓀 : Universe} where
 
- _is-hom-image-of-class_ : Algebra 𝓀 𝑆 β†’ Pred (Algebra 𝓀 𝑆)(𝓀 ⁺) β†’ ov 𝓀 Μ‡
+ _is-hom-image-of-class_ : Algebra 𝓀 𝑆 β†’ Pred (Algebra 𝓀 𝑆)(𝓀 ⁺) β†’ ov 𝓀 Μ‡
  𝑩 is-hom-image-of-class π“š = Ξ£ 𝑨 κž‰ (Algebra 𝓀 𝑆) , (𝑨 ∈ π“š) Γ— (𝑩 is-hom-image-of 𝑨)
 
- HomImagesOfClass : Pred (Algebra 𝓀 𝑆) (𝓀 ⁺) β†’ ov 𝓀 Μ‡
+ HomImagesOfClass : Pred (Algebra 𝓀 𝑆) (𝓀 ⁺) β†’ ov 𝓀 Μ‡
  HomImagesOfClass π“š = Ξ£ 𝑩 κž‰ (Algebra 𝓀 𝑆) , (𝑩 is-hom-image-of-class π“š)
 
 
@@ -78,9 +78,9 @@ The first states and proves the simple fact that the lift of an epimorphism is a open Lift -module _ {𝓧 𝓨 : Universe} where +module _ {𝓧 𝓨 : Universe} where - lift-of-alg-epic-is-epic : (𝓩 : Universe){𝓦 : Universe} + lift-of-alg-epic-is-epic : (𝓩 : Universe){𝓦 : Universe} {𝑨 : Algebra 𝓧 𝑆}(𝑩 : Algebra 𝓨 𝑆)(h : hom 𝑨 𝑩) ----------------------------------------------- β†’ Epic ∣ h ∣ β†’ Epic ∣ Lift-hom 𝓩 𝓦 𝑩 h ∣ @@ -96,30 +96,30 @@ The first states and proves the simple fact that the lift of an epimorphism is a a : ∣ 𝑨 ∣ a = Inv ∣ h ∣ ΞΆ - Ξ² : lift (∣ h ∣ a) ≑ (lift ∘ ∣ h ∣ ∘ lower{𝓦}) (lift a) + Ξ² : lift (∣ h ∣ a) ≑ (lift ∘ ∣ h ∣ ∘ lower{𝓦}) (lift a) Ξ² = ap (Ξ» - β†’ lift (∣ h ∣ ( - a))) (lower∼lift {𝓦} ) - Ξ· : y ≑ ∣ lh ∣ (lift a) + Ξ· : y ≑ ∣ lh ∣ (lift a) Ξ· = y β‰‘βŸ¨ (happly lift∼lower) y ⟩ lift (lower y) β‰‘βŸ¨ ap lift (InvIsInv ∣ h ∣ ΞΆ)⁻¹ ⟩ lift (∣ h ∣ a) β‰‘βŸ¨ Ξ² ⟩ ∣ lh ∣ (lift a) ∎ - Lift-alg-hom-image : {𝓩 𝓦 : Universe} + Lift-alg-hom-image : {𝓩 𝓦 : Universe} {𝑨 : Algebra 𝓧 𝑆}{𝑩 : Algebra 𝓨 𝑆} β†’ 𝑩 is-hom-image-of 𝑨 ----------------------------------------------- β†’ (Lift-alg 𝑩 𝓦) is-hom-image-of (Lift-alg 𝑨 𝓩) - Lift-alg-hom-image {𝓩}{𝓦}{𝑨}{𝑩} ((π‘ͺ , Ο• , Ο•hom , Ο•epic) , Cβ‰…B) = - (Lift-alg π‘ͺ 𝓦 , ∣ lΟ• ∣ , βˆ₯ lΟ• βˆ₯ , lΟ•epic) , Lift-alg-iso Cβ‰…B + Lift-alg-hom-image {𝓩}{𝓦}{𝑨}{𝑩} ((π‘ͺ , Ο• , Ο•hom , Ο•epic) , Cβ‰…B) = + (Lift-alg π‘ͺ 𝓦 , ∣ lΟ• ∣ , βˆ₯ lΟ• βˆ₯ , lΟ•epic) , Lift-alg-iso Cβ‰…B where lΟ• : hom (Lift-alg 𝑨 𝓩) (Lift-alg π‘ͺ 𝓦) - lΟ• = (Lift-hom 𝓩 𝓦 π‘ͺ) (Ο• , Ο•hom) + lΟ• = (Lift-hom 𝓩 𝓦 π‘ͺ) (Ο• , Ο•hom) lΟ•epic : Epic ∣ lΟ• ∣ - lΟ•epic = lift-of-alg-epic-is-epic 𝓩 π‘ͺ (Ο• , Ο•hom) Ο•epic + lΟ•epic = lift-of-alg-epic-is-epic 𝓩 π‘ͺ (Ο• , Ο•hom) Ο•epic
diff --git a/UALib/html/Homomorphisms.Isomorphisms.md b/UALib/html/Homomorphisms.Isomorphisms.md index 6f79399c..cdfaa10d 100644 --- a/UALib/html/Homomorphisms.Isomorphisms.md +++ b/UALib/html/Homomorphisms.Isomorphisms.md @@ -19,7 +19,7 @@ Here we formalize the informal notion of isomorphism between algebraic structure module Homomorphisms.Isomorphisms {𝑆 : Signature π“ž π“₯} where open import Homomorphisms.Noether{𝑆 = 𝑆} public -open import MGS-Embeddings using (Nat; NatΞ ; NatΞ -is-embedding) public +open import MGS-Embeddings using (Nat; NatΞ ; NatΞ -is-embedding) public
@@ -29,7 +29,7 @@ Recall, `f ~ g` means f and g are *extensionally* (or pointwise) equal; i.e., `
 
-_β‰…_ : {𝓀 𝓦 : Universe}(𝑨 : Algebra 𝓀 𝑆)(𝑩 : Algebra 𝓦 𝑆) β†’ π“ž βŠ” π“₯ βŠ” 𝓀 βŠ” 𝓦 Μ‡
+_β‰…_ : {𝓀 𝓦 : Universe}(𝑨 : Algebra 𝓀 𝑆)(𝑩 : Algebra 𝓦 𝑆) β†’ π“ž βŠ” π“₯ βŠ” 𝓀 βŠ” 𝓦 Μ‡
 𝑨 β‰… 𝑩 =  Ξ£ f κž‰ (hom 𝑨 𝑩) , Ξ£ g κž‰ (hom 𝑩 𝑨) , (∣ f ∣ ∘ ∣ g ∣ ∼ ∣ 𝒾𝒹 𝑩 ∣)
                                            Γ— (∣ g ∣ ∘ ∣ f ∣ ∼ ∣ 𝒾𝒹 𝑨 ∣)
 
@@ -43,19 +43,19 @@ That is, two structures are **isomorphic** provided there are homomorphisms goin
 
 
 
-β‰…-refl : {𝓀 : Universe} {𝑨 : Algebra 𝓀 𝑆} β†’ 𝑨 β‰… 𝑨
-β‰…-refl {𝓀}{𝑨} = 𝒾𝒹 𝑨 , 𝒾𝒹 𝑨 , (Ξ» a β†’ refl) , (Ξ» a β†’ refl)
+β‰…-refl : {𝓀 : Universe} {𝑨 : Algebra 𝓀 𝑆} β†’ 𝑨 β‰… 𝑨
+β‰…-refl {𝓀}{𝑨} = 𝒾𝒹 𝑨 , 𝒾𝒹 𝑨 , (Ξ» a β†’ refl) , (Ξ» a β†’ refl)
 
-β‰…-sym : {𝓀 𝓦 : Universe}{𝑨 : Algebra 𝓀 𝑆}{𝑩 : Algebra 𝓦 𝑆}
+β‰…-sym : {𝓀 𝓦 : Universe}{𝑨 : Algebra 𝓀 𝑆}{𝑩 : Algebra 𝓦 𝑆}
  β†’      𝑨 β‰… 𝑩 β†’ 𝑩 β‰… 𝑨
-β‰…-sym h = fst βˆ₯ h βˆ₯ , fst h , βˆ₯ snd βˆ₯ h βˆ₯ βˆ₯ , ∣ snd βˆ₯ h βˆ₯ ∣
+β‰…-sym h = fst βˆ₯ h βˆ₯ , fst h , βˆ₯ snd βˆ₯ h βˆ₯ βˆ₯ , ∣ snd βˆ₯ h βˆ₯ ∣
 
-module _ {𝓧 𝓨 𝓩 : Universe} where
+module _ {𝓧 𝓨 𝓩 : Universe} where
 
  β‰…-trans : {𝑨 : Algebra 𝓧 𝑆}{𝑩 : Algebra 𝓨 𝑆}{π‘ͺ : Algebra 𝓩 𝑆}
   β†’        𝑨 β‰… 𝑩 β†’ 𝑩 β‰… π‘ͺ β†’ 𝑨 β‰… π‘ͺ
 
- β‰…-trans {𝑨} {𝑩}{π‘ͺ} ab bc = f , g , Ξ± , Ξ²
+ β‰…-trans {𝑨} {𝑩}{π‘ͺ} ab bc = f , g , Ξ± , Ξ²
   where
   f1 : hom 𝑨 𝑩
   f1 = ∣ ab ∣
@@ -87,15 +87,15 @@ Fortunately, the lift operation preserves isomorphism (i.e., it's an *algebraic
 
 open Lift
 
-module _ {𝓀 𝓦 : Universe} where
+module _ {𝓀 𝓦 : Universe} where
 
  Lift-β‰… : {𝑨 : Algebra 𝓀 𝑆} β†’ 𝑨 β‰… (Lift-alg 𝑨 𝓦)
- Lift-β‰… {𝑨} = 𝓁𝒾𝒻𝓉 , (π“β„΄π“Œβ„―π“‡{𝓀}{𝓦}{𝑨}) , happly lift∼lower , happly (lower∼lift{𝓦})
+ Lift-β‰… {𝑨} = 𝓁𝒾𝒻𝓉 , (π“β„΄π“Œβ„―π“‡{𝓀}{𝓦}{𝑨}) , happly lift∼lower , happly (lower∼lift{𝓦})
 
- Lift-hom : (𝓧 : Universe)(𝓨 : Universe){𝑨 : Algebra 𝓀 𝑆}(𝑩 : Algebra 𝓦 𝑆)
+ Lift-hom : (𝓧 : Universe)(𝓨 : Universe){𝑨 : Algebra 𝓀 𝑆}(𝑩 : Algebra 𝓦 𝑆)
   β†’             hom 𝑨 𝑩  β†’  hom (Lift-alg 𝑨 𝓧) (Lift-alg 𝑩 𝓨)
 
- Lift-hom 𝓧 𝓨 {𝑨} 𝑩 (f , fhom) = lift ∘ f ∘ lower , Ξ³
+ Lift-hom 𝓧 𝓨 {𝑨} 𝑩 (f , fhom) = lift ∘ f ∘ lower , Ξ³
   where
   lABh : is-homomorphism (Lift-alg 𝑨 𝓧) 𝑩 (f ∘ lower)
   lABh = ∘-is-hom (Lift-alg 𝑨 𝓧) 𝑩 {lower}{f} (Ξ» _ _ β†’ refl) fhom
@@ -104,10 +104,10 @@ Fortunately, the lift operation preserves isomorphism (i.e., it's an *algebraic
   Ξ³ = ∘-is-hom (Lift-alg 𝑨 𝓧) (Lift-alg 𝑩 𝓨){f ∘ lower}{lift} lABh Ξ» _ _ β†’ refl
 
 
-module _ {𝓀 𝓦 : Universe} where
+module _ {𝓀 𝓦 : Universe} where
 
- Lift-alg-iso : {𝑨 : Algebra 𝓀 𝑆}{𝓧 : Universe}
-                {𝑩 : Algebra 𝓦 𝑆}{𝓨 : Universe}
+ Lift-alg-iso : {𝑨 : Algebra 𝓀 𝑆}{𝓧 : Universe}
+                {𝑩 : Algebra 𝓦 𝑆}{𝓨 : Universe}
                 -----------------------------------------
   β†’             𝑨 β‰… 𝑩 β†’ (Lift-alg 𝑨 𝓧) β‰… (Lift-alg 𝑩 𝓨)
 
@@ -124,15 +124,15 @@ The lift is also associative, up to isomorphism at least.
 
 
 
-module _ {π“˜ 𝓀 𝓦 : Universe} where
+module _ {π“˜ 𝓀 𝓦 : Universe} where
 
- Lift-alg-assoc : {𝑨 : Algebra 𝓀 𝑆} β†’ Lift-alg 𝑨 (𝓦 βŠ” π“˜) β‰… (Lift-alg (Lift-alg 𝑨 𝓦) π“˜)
+ Lift-alg-assoc : {𝑨 : Algebra 𝓀 𝑆} β†’ Lift-alg 𝑨 (𝓦 βŠ” π“˜) β‰… (Lift-alg (Lift-alg 𝑨 𝓦) π“˜)
  Lift-alg-assoc {𝑨} = β‰…-trans (β‰…-trans Ξ³ Lift-β‰…) Lift-β‰…
   where
-  Ξ³ : Lift-alg 𝑨 (𝓦 βŠ” π“˜) β‰… 𝑨
+  Ξ³ : Lift-alg 𝑨 (𝓦 βŠ” π“˜) β‰… 𝑨
   Ξ³ = β‰…-sym Lift-β‰…
 
- Lift-alg-associative : (𝑨 : Algebra 𝓀 𝑆) β†’ Lift-alg 𝑨 (𝓦 βŠ” π“˜) β‰… (Lift-alg (Lift-alg 𝑨 𝓦) π“˜)
+ Lift-alg-associative : (𝑨 : Algebra 𝓀 𝑆) β†’ Lift-alg 𝑨 (𝓦 βŠ” π“˜) β‰… (Lift-alg (Lift-alg 𝑨 𝓦) π“˜)
  Lift-alg-associative 𝑨 = Lift-alg-assoc {𝑨}
 
 
@@ -146,7 +146,7 @@ Products of isomorphic families of algebras are themselves isomorphic. The proof
 
-module _ {π“˜ 𝓀 𝓦 : Universe}{I : π“˜ Μ‡}{feπ“˜π“€ : dfunext π“˜ 𝓀}{feπ“˜π“¦ : dfunext π“˜ 𝓦} where
+module _ {π“˜ 𝓀 𝓦 : Universe}{I : π“˜ Μ‡}{feπ“˜π“€ : dfunext π“˜ 𝓀}{feπ“˜π“¦ : dfunext π“˜ 𝓦} where
 
  β¨…β‰… : {π’œ : I β†’ Algebra 𝓀 𝑆}{ℬ : I β†’ Algebra 𝓦 𝑆} β†’ Ξ  i κž‰ I , π’œ i β‰… ℬ i β†’ β¨… π’œ β‰… β¨… ℬ
 
@@ -171,7 +171,7 @@ Products of isomorphic families of algebras are themselves isomorphic. The proof
   ψ~Ο• a = feπ“˜π“€ Ξ» i β†’ snd βˆ₯ snd (AB i) βˆ₯ (a i)
 
   Ξ³ : β¨… π’œ β‰… β¨… ℬ
-  Ξ³ = (Ο• , Ο•hom) , ((ψ , ψhom) , Ο•~ψ , ψ~Ο•)
+  Ξ³ = (Ο• , Ο•hom) , ((ψ , ψhom) , Ο•~ψ , ψ~Ο•)
 
 
@@ -180,7 +180,7 @@ A nearly identical proof goes through for isomorphisms of lifted products (thoug
 
-module _ {π“˜ 𝓩 : Universe}{I : π“˜ Μ‡}{fizw : dfunext (π“˜ βŠ” 𝓩) 𝓦}{fiu : dfunext π“˜ 𝓀} where
+module _ {π“˜ 𝓩 : Universe}{I : π“˜ Μ‡}{fizw : dfunext (π“˜ βŠ” 𝓩) 𝓦}{fiu : dfunext π“˜ 𝓀} where
 
  Lift-alg-β¨…β‰… : {π’œ : I β†’ Algebra 𝓀 𝑆}{ℬ : (Lift{𝓩} I) β†’ Algebra 𝓦 𝑆}
   β†’            (βˆ€ i β†’ π’œ i β‰… ℬ (lift i)) β†’ Lift-alg (β¨… π’œ) 𝓩 β‰… β¨… ℬ
@@ -206,7 +206,7 @@ A nearly identical proof goes through for isomorphisms of lifted products (thoug
   ψ~Ο• a = fiu Ξ» i β†’ snd βˆ₯ snd (AB i) βˆ₯ (a i)
 
   Aβ‰…B : β¨… π’œ β‰… β¨… ℬ
-  Aβ‰…B = (Ο• , Ο•hom) , ((ψ , ψhom) , Ο•~ψ , ψ~Ο•)
+  Aβ‰…B = (Ο• , Ο•hom) , ((ψ , ψhom) , Ο•~ψ , ψ~Ο•)
 
   Ξ³ : Lift-alg (β¨… π’œ) 𝓩 β‰… β¨… ℬ
   γ = ≅-trans (≅-sym Lift-≅) A≅B
@@ -224,27 +224,27 @@ Finally, we prove some useful facts about embeddings that occasionally come in h
 
 
 
-module _ {π“˜ 𝓀 𝓦 : Universe} where
+module _ {π“˜ 𝓀 𝓦 : Universe} where
 
- embedding-lift-nat : hfunext π“˜ 𝓀 β†’ hfunext π“˜ 𝓦
+ embedding-lift-nat : hfunext π“˜ 𝓀 β†’ hfunext π“˜ 𝓦
   β†’                   {I : π“˜ Μ‡}{A : I β†’ 𝓀 Μ‡}{B : I β†’ 𝓦 Μ‡}
-                      (h : Nat A B) β†’ (βˆ€ i β†’ is-embedding (h i))
+                      (h : Nat A B) β†’ (βˆ€ i β†’ is-embedding (h i))
                       ------------------------------------------
   β†’                   is-embedding(NatΞ  h)
 
  embedding-lift-nat hfiu hfiw h hem = NatΞ -is-embedding hfiu hfiw h hem
 
 
- embedding-lift-nat' : hfunext π“˜ 𝓀 β†’ hfunext π“˜ 𝓦
+ embedding-lift-nat' : hfunext π“˜ 𝓀 β†’ hfunext π“˜ 𝓦
   β†’                    {I : π“˜ Μ‡}{π’œ : I β†’ Algebra 𝓀 𝑆}{ℬ : I β†’ Algebra 𝓦 𝑆}
-                       (h : Nat(fst ∘ π’œ)(fst ∘ ℬ)) β†’ (βˆ€ i β†’ is-embedding (h i))
+                       (h : Nat(fst ∘ π’œ)(fst ∘ ℬ)) β†’ (βˆ€ i β†’ is-embedding (h i))
                        --------------------------------------------------------
   β†’                    is-embedding(NatΞ  h)
 
  embedding-lift-nat' hfiu hfiw h hem = NatΞ -is-embedding hfiu hfiw h hem
 
 
- embedding-lift : hfunext π“˜ 𝓀 β†’ hfunext π“˜ 𝓦
+ embedding-lift : hfunext π“˜ 𝓀 β†’ hfunext π“˜ 𝓦
   β†’               {I : π“˜ Μ‡} β†’ {π’œ : I β†’ Algebra 𝓀 𝑆}{ℬ : I β†’ Algebra 𝓦 𝑆}
   β†’               (h : βˆ€ i β†’ ∣ π’œ i ∣ β†’ ∣ ℬ i ∣) β†’ (βˆ€ i β†’ is-embedding (h i))
                   ----------------------------------------------------------
@@ -253,14 +253,14 @@ Finally, we prove some useful facts about embeddings that occasionally come in h
  embedding-lift hfiu hfiw {I}{π’œ}{ℬ} h hem = embedding-lift-nat' hfiu hfiw {I}{π’œ}{ℬ} h hem
 
 
-isoβ†’embedding : {𝓀 𝓦 : Universe}{𝑨 : Algebra 𝓀 𝑆}{𝑩 : Algebra 𝓦 𝑆}
+isoβ†’embedding : {𝓀 𝓦 : Universe}{𝑨 : Algebra 𝓀 𝑆}{𝑩 : Algebra 𝓦 𝑆}
  β†’              (Ο• : 𝑨 β‰… 𝑩) β†’ is-embedding (fst ∣ Ο• ∣)
 
 isoβ†’embedding Ο• = equivs-are-embeddings (fst ∣ Ο• ∣)
                    (invertibles-are-equivs (fst ∣ Ο• ∣) finv)
  where
  finv : invertible (fst ∣ Ο• ∣)
- finv = ∣ fst βˆ₯ Ο• βˆ₯ ∣ , (snd βˆ₯ snd Ο• βˆ₯ , fst βˆ₯ snd Ο• βˆ₯)
+ finv = ∣ fst βˆ₯ Ο• βˆ₯ ∣ , (snd βˆ₯ snd Ο• βˆ₯ , fst βˆ₯ snd Ο• βˆ₯)
 
 
diff --git a/UALib/html/Homomorphisms.Noether.md b/UALib/html/Homomorphisms.Noether.md index 1d1377a1..17876ee6 100644 --- a/UALib/html/Homomorphisms.Noether.md +++ b/UALib/html/Homomorphisms.Noether.md @@ -45,20 +45,20 @@ Without further ado, we present our formalization of the first homomorphism theo
 
 
-module _ {𝓀 𝓦 : Universe} where
+module _ {𝓀 𝓦 : Universe} where
 
  FirstHomTheorem|Set : (𝑨 : Algebra 𝓀 𝑆)(𝑩 : Algebra 𝓦 𝑆)(h : hom 𝑨 𝑩)
                        -- extensionality assumptions:
   β†’                       pred-ext 𝓀 𝓦
-  β†’                       (fe : dfunext π“₯ 𝓦)
+  β†’                       (fe : dfunext π“₯ 𝓦)
 
                        -- truncation assumptions:
-  β†’                       is-set ∣ 𝑩 ∣
+  β†’                       is-set ∣ 𝑩 ∣
   β†’                       blk-uip ∣ 𝑨 ∣ ∣ kercon 𝑩 {fe} h ∣
 
-  β†’ Ξ£ Ο† κž‰ (hom (𝑨 [ 𝑩 ]/ker h β†Ύ fe) 𝑩) , (∣ h ∣ ≑ ∣ Ο† ∣ ∘ ∣ Ο€ker 𝑩 {fe} h ∣) Γ— Monic ∣ Ο† ∣ Γ— is-embedding ∣ Ο† ∣
+  β†’ Ξ£ Ο† κž‰ (hom (𝑨 [ 𝑩 ]/ker h β†Ύ fe) 𝑩) , (∣ h ∣ ≑ ∣ Ο† ∣ ∘ ∣ Ο€ker 𝑩 {fe} h ∣) Γ— Monic ∣ Ο† ∣ Γ— is-embedding ∣ Ο† ∣
 
- FirstHomTheorem|Set 𝑨 𝑩 h pe fe Bset buip = (Ο† , Ο†hom) , Ο†com , Ο†mon , Ο†emb
+ FirstHomTheorem|Set 𝑨 𝑩 h pe fe Bset buip = (Ο† , Ο†hom) , Ο†com , Ο†mon , Ο†emb
   where
   ΞΈ : Con{𝓦} 𝑨
   ΞΈ = kercon 𝑩 {fe} h
@@ -74,9 +74,9 @@ Without further ado, we present our formalization of the first homomorphism theo
              (𝑓 Μ‚ 𝑩) (Ξ» x β†’ Ο† (𝒂 x))             ∎
 
   Ο†mon : Monic Ο†
-  Ο†mon (_ , (u , refl)) (_ , (v , refl)) Ο†uv = block-ext|uip pe buip ΞΎ Ο†uv
+  Ο†mon (_ , (u , refl)) (_ , (v , refl)) Ο†uv = block-ext|uip pe buip ΞΎ Ο†uv
 
-  Ο†com : ∣ h ∣ ≑ Ο† ∘ ∣ Ο€ker 𝑩{fe} h ∣
+  Ο†com : ∣ h ∣ ≑ Ο† ∘ ∣ Ο€ker 𝑩{fe} h ∣
   Ο†com = refl
 
   Ο†emb : is-embedding Ο†
@@ -91,17 +91,17 @@ Below we will prove that the homomorphism `Ο†`, whose existence we just proved,
  FirstIsoTheorem|Set : (𝑨 : Algebra 𝓀 𝑆)(𝑩 : Algebra 𝓦 𝑆)(h : hom 𝑨 𝑩)
                        -- extensionality assumptions:
   β†’                       pred-ext 𝓀 𝓦
-  β†’                       (fe : dfunext π“₯ 𝓦)
-  β†’                       dfunext 𝓦 𝓦
+  β†’                       (fe : dfunext π“₯ 𝓦)
+  β†’                       dfunext 𝓦 𝓦
 
                        -- truncation assumptions:
-  β†’                       is-set ∣ 𝑩 ∣
+  β†’                       is-set ∣ 𝑩 ∣
   β†’                       blk-uip ∣ 𝑨 ∣ ∣ kercon 𝑩{fe}h ∣
 
   β†’ Epic ∣ h ∣
-  β†’ Ξ£ f κž‰ epi (𝑨 [ 𝑩 ]/ker h β†Ύ fe) 𝑩 , (∣ h ∣ ≑ ∣ f ∣ ∘ ∣ Ο€ker 𝑩{fe}h ∣) Γ— Monic ∣ f ∣ Γ— is-embedding ∣ f ∣
+  β†’ Ξ£ f κž‰ epi (𝑨 [ 𝑩 ]/ker h β†Ύ fe) 𝑩 , (∣ h ∣ ≑ ∣ f ∣ ∘ ∣ Ο€ker 𝑩{fe}h ∣) Γ— Monic ∣ f ∣ Γ— is-embedding ∣ f ∣
 
- FirstIsoTheorem|Set 𝑨 𝑩 h pe fe feww Bset buip hE = (fmap , fhom , fepic) , refl , (snd βˆ₯ FHT βˆ₯)
+ FirstIsoTheorem|Set 𝑨 𝑩 h pe fe feww Bset buip hE = (fmap , fhom , fepic) , refl , (snd βˆ₯ FHT βˆ₯)
   where
   FHT = FirstHomTheorem|Set 𝑨 𝑩 h pe fe Bset buip  -- (Ο† , Ο†hom) , Ο†com , Ο†mon , Ο†emb
 
@@ -116,7 +116,7 @@ Below we will prove that the homomorphism `Ο†`, whose existence we just proved,
    a : ∣ 𝑨 ∣
    a = EpicInv ∣ h ∣ hE b
 
-   bfa : b ≑ fmap βŸͺ a ⟫
+   bfa : b ≑ fmap βŸͺ a ⟫
    bfa = (cong-app (EpicInvIsRightInv {fe = feww} ∣ h ∣ hE) b)⁻¹
 
    Ξ³ : Image fmap βˆ‹ b
@@ -128,15 +128,15 @@ Now we prove that the homomorphism `Ο†`, whose existence is guaranteed by `First
 
 
 
-module _ {𝓀 𝓦 : Universe}{fe : dfunext π“₯ 𝓦}(𝑨 : Algebra 𝓀 𝑆)(𝑩 : Algebra 𝓦 𝑆)(h : hom 𝑨 𝑩) where
+module _ {𝓀 𝓦 : Universe}{fe : dfunext π“₯ 𝓦}(𝑨 : Algebra 𝓀 𝑆)(𝑩 : Algebra 𝓦 𝑆)(h : hom 𝑨 𝑩) where
 
  NoetherHomUnique : (f g : hom (𝑨 [ 𝑩 ]/ker h β†Ύ fe) 𝑩)
-  β†’                 ∣ h ∣ ≑ ∣ f ∣ ∘ ∣ Ο€ker 𝑩 {fe} h ∣ β†’ ∣ h ∣ ≑ ∣ g ∣ ∘ ∣ Ο€ker 𝑩{fe} h ∣
-  β†’                 βˆ€ a  β†’  ∣ f ∣ a ≑ ∣ g ∣ a
+  β†’                 ∣ h ∣ ≑ ∣ f ∣ ∘ ∣ Ο€ker 𝑩 {fe} h ∣ β†’ ∣ h ∣ ≑ ∣ g ∣ ∘ ∣ Ο€ker 𝑩{fe} h ∣
+  β†’                 βˆ€ a  β†’  ∣ f ∣ a ≑ ∣ g ∣ a
 
- NoetherHomUnique f g hfk hgk (_ , (a , refl)) = ∣ f ∣ (_ , (a , refl)) β‰‘βŸ¨ cong-app(hfk ⁻¹)a ⟩
+ NoetherHomUnique f g hfk hgk (_ , (a , refl)) = ∣ f ∣ (_ , (a , refl)) β‰‘βŸ¨ cong-app(hfk ⁻¹)a ⟩
                                                  ∣ h ∣ a                β‰‘βŸ¨ cong-app(hgk)a ⟩
-                                                 ∣ g ∣ (_ , (a , refl)) ∎
+                                                 ∣ g ∣ (_ , (a , refl)) ∎
 
 
@@ -144,8 +144,8 @@ If, in addition, we postulate extensionality of functions defined on the domain
 
- fe-NoetherHomUnique : {fuww : funext (𝓀 βŠ” 𝓦 ⁺) 𝓦}(f g : hom (𝑨 [ 𝑩 ]/ker h β†Ύ fe) 𝑩)
-  β†’  ∣ h ∣ ≑ ∣ f ∣ ∘ ∣ Ο€ker 𝑩{fe} h ∣  β†’  ∣ h ∣ ≑ ∣ g ∣ ∘ ∣ Ο€ker 𝑩{fe} h ∣  β†’  ∣ f ∣ ≑ ∣ g ∣
+ fe-NoetherHomUnique : {fuww : funext (𝓀 βŠ” 𝓦 ⁺) 𝓦}(f g : hom (𝑨 [ 𝑩 ]/ker h β†Ύ fe) 𝑩)
+  β†’  ∣ h ∣ ≑ ∣ f ∣ ∘ ∣ Ο€ker 𝑩{fe} h ∣  β†’  ∣ h ∣ ≑ ∣ g ∣ ∘ ∣ Ο€ker 𝑩{fe} h ∣  β†’  ∣ f ∣ ≑ ∣ g ∣
 
  fe-NoetherHomUnique {fuww} f g hfk hgk = fuww (NoetherHomUnique f g hfk hgk)
 
@@ -156,8 +156,8 @@ The proof of `NoetherHomUnique` goes through for the special case of epimorphism
 
 
  NoetherIsoUnique : (f g : epi (𝑨 [ 𝑩 ]/ker h β†Ύ fe) 𝑩)
-  β†’                 ∣ h ∣ ≑ ∣ f ∣ ∘ ∣ Ο€ker 𝑩{fe} h ∣ β†’ ∣ h ∣ ≑ ∣ g ∣ ∘ ∣ Ο€ker 𝑩 {fe} h ∣
-  β†’                 βˆ€ a β†’ ∣ f ∣ a ≑ ∣ g ∣ a
+  β†’                 ∣ h ∣ ≑ ∣ f ∣ ∘ ∣ Ο€ker 𝑩{fe} h ∣ β†’ ∣ h ∣ ≑ ∣ g ∣ ∘ ∣ Ο€ker 𝑩 {fe} h ∣
+  β†’                 βˆ€ a β†’ ∣ f ∣ a ≑ ∣ g ∣ a
 
  NoetherIsoUnique f g hfk hgk = NoetherHomUnique (epi-to-hom 𝑩 f) (epi-to-hom 𝑩 g) hfk hgk
 
@@ -173,12 +173,12 @@ The composition of homomorphisms is again a homomorphism.  We formalize this in
 
 
 
-module _ {𝓧 𝓨 𝓩 : Universe} (𝑨 : Algebra 𝓧 𝑆){𝑩 : Algebra 𝓨 𝑆}(π‘ͺ : Algebra 𝓩 𝑆) where
+module _ {𝓧 𝓨 𝓩 : Universe} (𝑨 : Algebra 𝓧 𝑆){𝑩 : Algebra 𝓨 𝑆}(π‘ͺ : Algebra 𝓩 𝑆) where
 
  ∘-hom : hom 𝑨 𝑩  β†’  hom 𝑩 π‘ͺ  β†’  hom 𝑨 π‘ͺ
- ∘-hom (g , ghom) (h , hhom) = h ∘ g , γ where
+ ∘-hom (g , ghom) (h , hhom) = h ∘ g , γ where
 
-  Ξ³ : βˆ€ 𝑓 a β†’ (h ∘ g)((𝑓 Μ‚ 𝑨) a) ≑ (𝑓 Μ‚ π‘ͺ)(h ∘ g ∘ a)
+  Ξ³ : βˆ€ 𝑓 a β†’ (h ∘ g)((𝑓 Μ‚ 𝑨) a) ≑ (𝑓 Μ‚ π‘ͺ)(h ∘ g ∘ a)
 
   Ξ³ 𝑓 a = (h ∘ g) ((𝑓 Μ‚ 𝑨) a) β‰‘βŸ¨ ap h ( ghom 𝑓 a ) ⟩
           h ((𝑓 Μ‚ 𝑩) (g ∘ a)) β‰‘βŸ¨ hhom 𝑓 ( g ∘ a ) ⟩
@@ -189,7 +189,7 @@ The composition of homomorphisms is again a homomorphism.  We formalize this in
   β†’         is-homomorphism 𝑨 𝑩 f β†’ is-homomorphism 𝑩 π‘ͺ g
   β†’         is-homomorphism 𝑨 π‘ͺ (g ∘ f)
 
- ∘-is-hom {f} {g} fhom ghom = βˆ₯ ∘-hom (f , fhom) (g , ghom) βˆ₯
+ ∘-is-hom {f} {g} fhom ghom = βˆ₯ ∘-hom (f , fhom) (g , ghom) βˆ₯
 
 
@@ -213,13 +213,13 @@ If `g : hom 𝑨 𝑩`, `h : hom 𝑨 π‘ͺ`, `h` is surjective, and `ker h βŠ† k This, or some variation of it, is sometimes referred to as the Second Isomorphism Theorem. We formalize its statement and proof as follows. (Notice that the proof is constructive.)
-module _ {𝓀 : Universe}{𝑨 𝑩 π‘ͺ : Algebra 𝓀 𝑆} where
+module _ {𝓀 : Universe}{𝑨 𝑩 π‘ͺ : Algebra 𝓀 𝑆} where
  homFactor : funext 𝓀 𝓀 β†’ (g : hom 𝑨 𝑩)(h : hom 𝑨 π‘ͺ)
   β†’          kernel ∣ h ∣ βŠ† kernel ∣ g ∣ β†’ Epic ∣ h ∣
              -------------------------------------------
-  β†’          Ξ£ Ο† κž‰ (hom π‘ͺ 𝑩) , ∣ g ∣ ≑ ∣ Ο† ∣ ∘ ∣ h ∣
+  β†’          Ξ£ Ο† κž‰ (hom π‘ͺ 𝑩) , ∣ g ∣ ≑ ∣ Ο† ∣ ∘ ∣ h ∣
 
- homFactor fe(g , ghom)(h , hhom) KhβŠ†Kg hEpi = (Ο† , Ο†IsHomCB) , gΟ†h
+ homFactor fe(g , ghom)(h , hhom) KhβŠ†Kg hEpi = (Ο† , Ο†IsHomCB) , gΟ†h
   where
   hInv : ∣ π‘ͺ ∣ β†’ ∣ 𝑨 ∣
   hInv = Ξ» c β†’ (EpicInv h hEpi) c
@@ -227,23 +227,23 @@ This, or some variation of it, is sometimes referred to as the Second Isomorphis
   Ο† : ∣ π‘ͺ ∣ β†’ ∣ 𝑩 ∣
   Ο† = Ξ» c β†’ g ( hInv c )
 
-  ΞΎ : βˆ€ x β†’ kernel h (x , hInv (h x))
+  ΞΎ : βˆ€ x β†’ kernel h (x , hInv (h x))
   ξ x = (cong-app (EpicInvIsRightInv {fe = fe} h hEpi) (h x))⁻¹
 
-  gΟ†h : g ≑ Ο† ∘ h
+  gΟ†h : g ≑ Ο† ∘ h
   gΟ†h = fe  Ξ» x β†’ KhβŠ†Kg (ΞΎ x)
 
-  ΞΆ : (𝑓 : ∣ 𝑆 ∣)(𝒄 : βˆ₯ 𝑆 βˆ₯ 𝑓 β†’ ∣ π‘ͺ ∣)(x : βˆ₯ 𝑆 βˆ₯ 𝑓) β†’  𝒄 x ≑ (h ∘ hInv)(𝒄 x)
+  ΞΆ : (𝑓 : ∣ 𝑆 ∣)(𝒄 : βˆ₯ 𝑆 βˆ₯ 𝑓 β†’ ∣ π‘ͺ ∣)(x : βˆ₯ 𝑆 βˆ₯ 𝑓) β†’  𝒄 x ≑ (h ∘ hInv)(𝒄 x)
   ΞΆ  𝑓 𝒄 x = (cong-app (EpicInvIsRightInv {fe = fe} h hEpi) (𝒄 x))⁻¹
 
-  ΞΉ : (𝑓 : ∣ 𝑆 ∣)(𝒄 : βˆ₯ 𝑆 βˆ₯ 𝑓 β†’ ∣ π‘ͺ ∣) β†’  𝒄 ≑ h ∘ (hInv ∘ 𝒄)
+  ΞΉ : (𝑓 : ∣ 𝑆 ∣)(𝒄 : βˆ₯ 𝑆 βˆ₯ 𝑓 β†’ ∣ π‘ͺ ∣) β†’  𝒄 ≑ h ∘ (hInv ∘ 𝒄)
   ΞΉ 𝑓 𝒄 = ap (Ξ» - β†’ - ∘ 𝒄)(EpicInvIsRightInv {fe = fe} h hEpi)⁻¹
 
-  useker : βˆ€ 𝑓 𝒄 β†’ g(hInv (h((𝑓 Μ‚ 𝑨)(hInv ∘ 𝒄)))) ≑ g((𝑓 Μ‚ 𝑨)(hInv ∘ 𝒄))
+  useker : βˆ€ 𝑓 𝒄 β†’ g(hInv (h((𝑓 Μ‚ 𝑨)(hInv ∘ 𝒄)))) ≑ g((𝑓 Μ‚ 𝑨)(hInv ∘ 𝒄))
   useker 𝑓 c = KhβŠ†Kg (cong-app (EpicInvIsRightInv{fe = fe} h hEpi)
                                (h ((𝑓 Μ‚ 𝑨)(hInv ∘ c))) )
 
-  Ο†IsHomCB : (𝑓 : ∣ 𝑆 ∣)(𝒄 : βˆ₯ 𝑆 βˆ₯ 𝑓 β†’ ∣ π‘ͺ ∣) β†’ Ο†((𝑓 Μ‚ π‘ͺ) 𝒄) ≑ (𝑓 Μ‚ 𝑩)(Ο† ∘ 𝒄)
+  Ο†IsHomCB : (𝑓 : ∣ 𝑆 ∣)(𝒄 : βˆ₯ 𝑆 βˆ₯ 𝑓 β†’ ∣ π‘ͺ ∣) β†’ Ο†((𝑓 Μ‚ π‘ͺ) 𝒄) ≑ (𝑓 Μ‚ 𝑩)(Ο† ∘ 𝒄)
 
   Ο†IsHomCB 𝑓 𝒄 =  g (hInv ((𝑓 Μ‚ π‘ͺ) 𝒄))              β‰‘βŸ¨ i   ⟩
                  g (hInv ((𝑓 Μ‚ π‘ͺ)(h ∘ (hInv ∘ 𝒄)))) β‰‘βŸ¨ ii  ⟩
@@ -273,14 +273,14 @@ Here's a more general version.
 
 
 
-module _ {𝓧 𝓨 𝓩 : Universe}{𝑨 : Algebra 𝓧 𝑆}{π‘ͺ : Algebra 𝓩 𝑆} where
+module _ {𝓧 𝓨 𝓩 : Universe}{𝑨 : Algebra 𝓧 𝑆}{π‘ͺ : Algebra 𝓩 𝑆} where
 
  HomFactor : funext 𝓧 𝓨 β†’ funext 𝓩 𝓩 β†’ (𝑩 : Algebra 𝓨 𝑆)(Ξ± : hom 𝑨 𝑩)(Ξ² : hom 𝑨 π‘ͺ)
   β†’          kernel ∣ Ξ² ∣ βŠ† kernel ∣ Ξ± ∣ β†’ Epic ∣ Ξ² ∣
              -------------------------------------------
-  β†’          Ξ£ Ο† κž‰ (hom π‘ͺ 𝑩) , ∣ Ξ± ∣ ≑ ∣ Ο† ∣ ∘ ∣ Ξ² ∣
+  β†’          Ξ£ Ο† κž‰ (hom π‘ͺ 𝑩) , ∣ Ξ± ∣ ≑ ∣ Ο† ∣ ∘ ∣ Ξ² ∣
 
- HomFactor fxy fzz 𝑩 Ξ± Ξ² KΞ²Ξ± Ξ²E = (Ο† , Ο†IsHomCB) , αφβ
+ HomFactor fxy fzz 𝑩 Ξ± Ξ² KΞ²Ξ± Ξ²E = (Ο† , Ο†IsHomCB) , αφβ
   where
   Ξ²Inv : ∣ π‘ͺ ∣ β†’ ∣ 𝑨 ∣
   Ξ²Inv = Ξ» y β†’ (EpicInv ∣ Ξ² ∣ Ξ²E) y
@@ -288,20 +288,20 @@ Here's a more general version.
   Ο† : ∣ π‘ͺ ∣ β†’ ∣ 𝑩 ∣
   Ο† = Ξ» y β†’ ∣ Ξ± ∣ ( Ξ²Inv y )
 
-  ΞΎ : (x : ∣ 𝑨 ∣) β†’ kernel ∣ Ξ² ∣ (x , Ξ²Inv (∣ Ξ² ∣ x))
+  ΞΎ : (x : ∣ 𝑨 ∣) β†’ kernel ∣ Ξ² ∣ (x , Ξ²Inv (∣ Ξ² ∣ x))
   ξ x =  ( cong-app (EpicInvIsRightInv {fe = fzz} ∣ β ∣ βE) ( ∣ β ∣ x ) )⁻¹
 
-  αφβ : ∣ Ξ± ∣ ≑ Ο† ∘ ∣ Ξ² ∣
+  αφβ : ∣ Ξ± ∣ ≑ Ο† ∘ ∣ Ξ² ∣
   αφβ = fxy Ξ» x β†’ KΞ²Ξ± (ΞΎ x)
 
-  ΞΉ : (𝑓 : ∣ 𝑆 ∣)(𝒄 : βˆ₯ 𝑆 βˆ₯ 𝑓 β†’ ∣ π‘ͺ ∣) β†’ 𝒄 ≑  ∣ Ξ² ∣ ∘ (Ξ²Inv ∘ 𝒄)
+  ΞΉ : (𝑓 : ∣ 𝑆 ∣)(𝒄 : βˆ₯ 𝑆 βˆ₯ 𝑓 β†’ ∣ π‘ͺ ∣) β†’ 𝒄 ≑  ∣ Ξ² ∣ ∘ (Ξ²Inv ∘ 𝒄)
   ΞΉ 𝑓 𝒄 = ap (Ξ» - β†’ - ∘ 𝒄) (EpicInvIsRightInv{fe = fzz} ∣ Ξ² ∣ Ξ²E)⁻¹
 
-  useker : βˆ€ 𝑓 𝒄 β†’ ∣ Ξ± ∣ (Ξ²Inv (∣ Ξ² ∣((𝑓 Μ‚ 𝑨)(Ξ²Inv ∘ 𝒄)))) ≑ ∣ Ξ± ∣((𝑓 Μ‚ 𝑨)(Ξ²Inv ∘ 𝒄))
+  useker : βˆ€ 𝑓 𝒄 β†’ ∣ Ξ± ∣ (Ξ²Inv (∣ Ξ² ∣((𝑓 Μ‚ 𝑨)(Ξ²Inv ∘ 𝒄)))) ≑ ∣ Ξ± ∣((𝑓 Μ‚ 𝑨)(Ξ²Inv ∘ 𝒄))
   useker 𝑓 𝒄 = KΞ²Ξ± (cong-app (EpicInvIsRightInv {fe = fzz} ∣ Ξ² ∣ Ξ²E)
                              (∣ Ξ² ∣ ((𝑓 Μ‚ 𝑨)(Ξ²Inv ∘ 𝒄))))
 
-  Ο†IsHomCB : βˆ€ 𝑓 𝒄 β†’ Ο† ((𝑓 Μ‚ π‘ͺ) 𝒄) ≑ ((𝑓 Μ‚ 𝑩)(Ο† ∘ 𝒄))
+  Ο†IsHomCB : βˆ€ 𝑓 𝒄 β†’ Ο† ((𝑓 Μ‚ π‘ͺ) 𝒄) ≑ ((𝑓 Μ‚ 𝑩)(Ο† ∘ 𝒄))
 
   Ο†IsHomCB 𝑓 𝒄 = ∣ Ξ± ∣ (Ξ²Inv ((𝑓 Μ‚ π‘ͺ) 𝒄))                   β‰‘βŸ¨ i   ⟩
                 ∣ Ξ± ∣ (Ξ²Inv ((𝑓 Μ‚ π‘ͺ)(∣ Ξ² ∣ ∘ (Ξ²Inv ∘ 𝒄)))) β‰‘βŸ¨ ii  ⟩
@@ -324,11 +324,11 @@ If, in addition to the hypotheses of the last theorem, we assume Ξ± is epic, the
   β†’             (𝑩 : Algebra 𝓨 𝑆)(Ξ± : hom 𝑨 𝑩)(Ξ² : hom 𝑨 π‘ͺ)
   β†’             kernel ∣ Ξ² ∣ βŠ† kernel ∣ Ξ± ∣ β†’ Epic ∣ Ξ² ∣ β†’ Epic ∣ Ξ± ∣
                 ----------------------------------------------------------
-  β†’             Ξ£ Ο† κž‰ (epi π‘ͺ 𝑩) , ∣ Ξ± ∣ ≑ ∣ Ο† ∣ ∘ ∣ Ξ² ∣
+  β†’             Ξ£ Ο† κž‰ (epi π‘ͺ 𝑩) , ∣ Ξ± ∣ ≑ ∣ Ο† ∣ ∘ ∣ Ξ² ∣
 
- HomFactorEpi fxy fzz fyy 𝑩 Ξ± Ξ² kerincl Ξ²e Ξ±e = (fst ∣ Ο†F ∣ , (snd ∣ Ο†F ∣ , Ο†E)) , βˆ₯ Ο†F βˆ₯
+ HomFactorEpi fxy fzz fyy 𝑩 Ξ± Ξ² kerincl Ξ²e Ξ±e = (fst ∣ Ο†F ∣ , (snd ∣ Ο†F ∣ , Ο†E)) , βˆ₯ Ο†F βˆ₯
   where
-  Ο†F : Ξ£ Ο† κž‰ (hom π‘ͺ 𝑩) , ∣ Ξ± ∣ ≑ ∣ Ο† ∣ ∘ ∣ Ξ² ∣
+  Ο†F : Ξ£ Ο† κž‰ (hom π‘ͺ 𝑩) , ∣ Ξ± ∣ ≑ ∣ Ο† ∣ ∘ ∣ Ξ² ∣
   Ο†F = HomFactor fxy fzz 𝑩 Ξ± Ξ² kerincl Ξ²e
 
   Ξ²inv : ∣ π‘ͺ ∣ β†’ ∣ 𝑨 ∣
diff --git a/UALib/html/Level.html b/UALib/html/Level.html
index 00c1f7d9..fdf2067c 100644
--- a/UALib/html/Level.html
+++ b/UALib/html/Level.html
@@ -11,12 +11,12 @@
 -- Levels.
 
 open import Agda.Primitive as Prim public
-  using    (Level; _βŠ”_; SetΟ‰)
-  renaming (lzero to zero; lsuc to suc)
+  using    (Level; _βŠ”_; SetΟ‰)
+  renaming (lzero to zero; lsuc to suc)
 
 -- Lifting.
 
-record Lift {a} β„“ (A : Set a) : Set (a βŠ” β„“) where
+record Lift {a} β„“ (A : Set a) : Set (a βŠ” β„“) where
   constructor lift
   field lower : A
 
@@ -24,5 +24,11 @@
 
 -- Synonyms
 
-0β„“ : Level
+0β„“ : Level
 0β„“ = zero
+
+levelOfType : βˆ€ {a} β†’ Set a β†’ Level
+levelOfType {a} _ = a
+
+levelOfTerm : βˆ€ {a} {A : Set a} β†’ A β†’ Level
+levelOfTerm {a} _ = a
diff --git a/UALib/html/Overture.Equality.md b/UALib/html/Overture.Equality.md
index 3c021e91..f00b7ec2 100644
--- a/UALib/html/Overture.Equality.md
+++ b/UALib/html/Overture.Equality.md
@@ -48,7 +48,7 @@ The datatype we use to represent definitional equality is imported from the Iden
 
  data _≑_ {A : 𝓀 Μ‡} : A β†’ A β†’ 𝓀 Μ‡ where refl : {x : A} β†’ x ≑ x
 
-open import Identity-Type renaming (_≑_ to infix 0 _≑_) public
+open import Identity-Type renaming (_≑_ to infix 0 _≑_) public
 
 
diff --git a/UALib/html/Overture.FunExtensionality.md b/UALib/html/Overture.FunExtensionality.md index 023ae79a..f4bcc95b 100644 --- a/UALib/html/Overture.FunExtensionality.md +++ b/UALib/html/Overture.FunExtensionality.md @@ -44,7 +44,7 @@ As explained above, a natural notion of function equality is defined as follows: module hide-∼ {A : 𝓀 Μ‡ } where - _∼_ : {B : A β†’ 𝓦 Μ‡ } β†’ Ξ  B β†’ Ξ  B β†’ 𝓀 βŠ” 𝓦 Μ‡ + _∼_ : {B : A β†’ 𝓦 Μ‡ } β†’ Ξ  B β†’ Ξ  B β†’ 𝓀 βŠ” 𝓦 Μ‡ f ∼ g = Ξ  x κž‰ A , f x ≑ g x infix 0 _∼_ @@ -59,7 +59,7 @@ As explained above, a natural notion of function equality is defined as follows: module hide-funext where - dfunext : βˆ€ 𝓀 𝓦 β†’ 𝓀 ⁺ βŠ” 𝓦 ⁺ Μ‡ + dfunext : βˆ€ 𝓀 𝓦 β†’ 𝓀 ⁺ βŠ” 𝓦 ⁺ Μ‡ dfunext 𝓀 𝓦 = {A : 𝓀 Μ‡ }{B : A β†’ 𝓦 Μ‡ }{f g : Ξ  x κž‰ A , B x} β†’ f ∼ g β†’ f ≑ g
@@ -73,7 +73,7 @@ Before moving on to the next subsection, let us pause to make a public import of
 
-open import MGS-FunExt-from-Univalence using (funext; dfunext) public
+open import MGS-FunExt-from-Univalence using (funext; dfunext) public
 
 
@@ -103,7 +103,7 @@ First, a type is a *singleton* if it has exactly one inhabitant and a *subsingle
 
-module hide-tt-defs {𝓀 : Universe} where
+module hide-tt-defs {𝓀 : Universe} where
 
  is-center : (A : 𝓀 Μ‡ ) β†’ A β†’ 𝓀 Μ‡
  is-center A c = (x : A) β†’ c ≑ x
@@ -123,9 +123,9 @@ Next, we consider the type `is-equiv` which is used to assert that a function is
 
 
 
-module hide-tt-defs' {𝓀 𝓦 : Universe} where
+module hide-tt-defs' {𝓀 𝓦 : Universe} where
 
- fiber : {A : 𝓀 Μ‡ } {B : 𝓦 Μ‡ } (f : A β†’ B) β†’ B β†’ 𝓀 βŠ” 𝓦 Μ‡
+ fiber : {A : 𝓀 Μ‡ } {B : 𝓦 Μ‡ } (f : A β†’ B) β†’ B β†’ 𝓀 βŠ” 𝓦 Μ‡
  fiber {A} f y = Ξ£ x κž‰ A , f x ≑ y
 
 
@@ -134,7 +134,7 @@ A function is called an *equivalence* if all of its fibers are singletons.
 
- is-equiv : {A : 𝓀 Μ‡ } {B : 𝓦 Μ‡ } β†’ (A β†’ B) β†’ 𝓀 βŠ” 𝓦 Μ‡
+ is-equiv : {A : 𝓀 Μ‡ } {B : 𝓦 Μ‡ } β†’ (A β†’ B) β†’ 𝓀 βŠ” 𝓦 Μ‡
  is-equiv f = βˆ€ y β†’ is-singleton (fiber f y)
 
 
@@ -147,10 +147,10 @@ We are finally ready to fulfill our promise of a type that provides an alternati module hide-hfunext where - hfunext : βˆ€ 𝓀 𝓦 β†’ (𝓀 βŠ” 𝓦)⁺ Μ‡ + hfunext : βˆ€ 𝓀 𝓦 β†’ (𝓀 βŠ” 𝓦)⁺ Μ‡ hfunext 𝓀 𝓦 = {A : 𝓀 Μ‡}{B : A β†’ 𝓦 Μ‡} (f g : Ξ  B) β†’ is-equiv (happly{f = f}{g}) -open import MGS-FunExt-from-Univalence using (hfunext) public +open import MGS-FunExt-from-Univalence using (hfunext) public
diff --git a/UALib/html/Overture.Inverses.md b/UALib/html/Overture.Inverses.md index ccaba06c..0a55d0c7 100644 --- a/UALib/html/Overture.Inverses.md +++ b/UALib/html/Overture.Inverses.md @@ -28,7 +28,7 @@ We begin by defining an inductive type that represents the semantic concept of * module _ {A : 𝓀 Μ‡ }{B : 𝓦 Μ‡ } where - data Image_βˆ‹_ (f : A β†’ B) : B β†’ 𝓀 βŠ” 𝓦 Μ‡ + data Image_βˆ‹_ (f : A β†’ B) : B β†’ 𝓀 βŠ” 𝓦 Μ‡ where im : (x : A) β†’ Image f βˆ‹ f x eq : (b : B) β†’ (a : A) β†’ b ≑ f a β†’ Image f βˆ‹ b @@ -74,7 +74,7 @@ An epic (or surjective) function from `A` to `B` is as an inhabitant of the `Epi
 
- Epic : (A β†’ B) β†’  𝓀 βŠ” 𝓦 Μ‡
+ Epic : (A β†’ B) β†’  𝓀 βŠ” 𝓦 Μ‡
  Epic f = βˆ€ y β†’ Image f βˆ‹ y
 
 
@@ -147,7 +147,7 @@ We say that a function `f : A β†’ B` is *monic* (or *injective*) if it does not module _ {A : 𝓀 Μ‡}{B : 𝓦 Μ‡} where - Monic : (f : A β†’ B) β†’ 𝓀 βŠ” 𝓦 Μ‡ + Monic : (f : A β†’ B) β†’ 𝓀 βŠ” 𝓦 Μ‡ Monic f = βˆ€ x y β†’ f x ≑ f y β†’ x ≑ y
@@ -181,7 +181,7 @@ The `is-embedding` type is defined in the [Type Topology][] library in the follo
 module hide-is-embedding{A : 𝓀 Μ‡}{B : 𝓦 Μ‡} where
 
- is-embedding : (A β†’ B) β†’ 𝓀 βŠ” 𝓦 Μ‡
+ is-embedding : (A β†’ B) β†’ 𝓀 βŠ” 𝓦 Μ‡
  is-embedding f = βˆ€ b β†’ is-subsingleton (fiber f b)
 
 open import MGS-Embeddings using (is-embedding) public
@@ -209,8 +209,8 @@ Finally, embeddings are monic; from a proof `p : is-embedding f` that `f` is an
  embedding-is-monic f femb x y fxfy = ap pr₁ ((femb (f x)) fx fy)
   where
   fx fy : fiber f (f x)
-  fx = x , refl
-  fy = y , (fxfy ⁻¹)
+  fx = x , refl
+  fy = y , (fxfy ⁻¹)
 
 
diff --git a/UALib/html/Overture.Lifts.md b/UALib/html/Overture.Lifts.md index 59694d16..fe5ed555 100644 --- a/UALib/html/Overture.Lifts.md +++ b/UALib/html/Overture.Lifts.md @@ -46,7 +46,7 @@ The general `Lift` record type that we now describe makes these situations easie
 
-record Lift {𝓦 𝓀 : Universe} (A : 𝓀 Μ‡) : 𝓀 βŠ” 𝓦 Μ‡  where
+record Lift {𝓦 𝓀 : Universe} (A : 𝓀 Μ‡) : 𝓀 βŠ” 𝓦 Μ‡  where
  constructor lift
  field lower : A
 open Lift
@@ -57,10 +57,10 @@ The point of having a ramified hierarchy of universes is to avoid Russell's para
 
 
 
-lift∼lower : {𝓦 𝓀 : Universe}{A : 𝓀 Μ‡} β†’ lift ∘ lower ≑ 𝑖𝑑 (Lift{𝓦} A)
+lift∼lower : {𝓦 𝓀 : Universe}{A : 𝓀 Μ‡} β†’ lift ∘ lower ≑ 𝑖𝑑 (Lift{𝓦} A)
 lift∼lower = refl
 
-lower∼lift : {𝓦 𝓀 : Universe}{A : 𝓀 Μ‡} β†’ lower{𝓦}{𝓀} ∘ lift ≑ 𝑖𝑑 A
+lower∼lift : {𝓦 𝓀 : Universe}{A : 𝓀 Μ‡} β†’ lower{𝓦}{𝓀} ∘ lift ≑ 𝑖𝑑 A
 lower∼lift = refl
 
 
diff --git a/UALib/html/Overture.Preliminaries.md b/UALib/html/Overture.Preliminaries.md index a50beb04..dcc95c32 100644 --- a/UALib/html/Overture.Preliminaries.md +++ b/UALib/html/Overture.Preliminaries.md @@ -87,7 +87,7 @@ Since we use the `public` directive, the `Universes` module will be available to
 
-variable π“ž 𝓧 𝓨 𝓩 : Universe
+variable π“ž 𝓧 𝓨 𝓩 : Universe
 
 
@@ -125,7 +125,7 @@ The dependent product type is defined in the [Type Topology][] library. For peda module hide-sigma where - record Ξ£ {𝓀 π“₯} {A : 𝓀 Μ‡ } (B : A β†’ π“₯ Μ‡ ) : 𝓀 βŠ” π“₯ Μ‡ where + record Ξ£ {𝓀 π“₯} {A : 𝓀 Μ‡ } (B : A β†’ π“₯ Μ‡ ) : 𝓀 βŠ” π“₯ Μ‡ where constructor _,_ field pr₁ : A @@ -139,7 +139,7 @@ Agda's default syntax for this type is `Ξ£ A (Ξ» x β†’ B)`, but we prefer the no
 
- -Ξ£ : {𝓀 π“₯ : Universe} (A : 𝓀 Μ‡ ) (B : A β†’ π“₯ Μ‡ ) β†’ 𝓀 βŠ” π“₯ Μ‡
+ -Ξ£ : {𝓀 π“₯ : Universe} (A : 𝓀 Μ‡ ) (B : A β†’ π“₯ Μ‡ ) β†’ 𝓀 βŠ” π“₯ Μ‡
  -Ξ£ A B = Ξ£ B
 
  syntax -Ξ£ A (Ξ» x β†’ B) = Ξ£ x κž‰ A , B
@@ -152,7 +152,7 @@ A special case of the Sigma type is the one in which the type `B` doesn't depend
 
 
 
- _Γ—_ : 𝓀 Μ‡ β†’ π“₯ Μ‡ β†’ 𝓀 βŠ” π“₯ Μ‡
+ _Γ—_ : 𝓀 Μ‡ β†’ π“₯ Μ‡ β†’ 𝓀 βŠ” π“₯ Μ‡
  A Γ— B = Ξ£ x κž‰ A , B
 
 
@@ -163,12 +163,12 @@ Given universes `𝓀` and `π“₯`, a type `X : 𝓀 Μ‡`, and a type family `Y :
 
-module hide-pi {𝓀 𝓦 : Universe} where
+module hide-pi {𝓀 𝓦 : Universe} where
 
- Ξ  : {A : 𝓀 Μ‡ } (B : A β†’ 𝓦 Μ‡ ) β†’ 𝓀 βŠ” 𝓦 Μ‡
+ Ξ  : {A : 𝓀 Μ‡ } (B : A β†’ 𝓦 Μ‡ ) β†’ 𝓀 βŠ” 𝓦 Μ‡
  Ξ  {A} B = (x : A) β†’ B x
 
- -Ξ  : (A : 𝓀 Μ‡ )(B : A β†’ 𝓦 Μ‡ ) β†’ 𝓀 βŠ” 𝓦 Μ‡
+ -Ξ  : (A : 𝓀 Μ‡ )(B : A β†’ 𝓦 Μ‡ ) β†’ 𝓀 βŠ” 𝓦 Μ‡
  -Ξ  A B = Ξ  B
 
  infixr -1 -Ξ 
@@ -185,7 +185,7 @@ Now that we have studied these important types, defined in the [Type Topology][]
 
 
 
-open import Sigma-Type renaming (_,_ to infixr 50 _,_) public
+open import Sigma-Type renaming (_,_ to infixr 50 _,_) public
 open import MGS-MLTT using (pr₁; prβ‚‚; _Γ—_; -Ξ£; Ξ ; -Ξ ) public
 
 
@@ -197,7 +197,7 @@ The definition of `Ξ£` (and thus, of `Γ—`) includes the fields `pr₁` and `pr
 
-module _ {𝓀 : Universe}{A : 𝓀 Μ‡ }{B : A β†’ π“₯ Μ‡} where
+module _ {𝓀 : Universe}{A : 𝓀 Μ‡ }{B : A β†’ π“₯ Μ‡} where
 
  ∣_∣ fst : Ξ£ B β†’ A
  ∣ x , y ∣ = x
diff --git a/UALib/html/Relation.Binary.Core.html b/UALib/html/Relation.Binary.Core.html
index 85c80401..41ad374f 100644
--- a/UALib/html/Relation.Binary.Core.html
+++ b/UALib/html/Relation.Binary.Core.html
@@ -4,272 +4,82 @@
 -- Properties of binary relations
 ------------------------------------------------------------------------
 
--- Note that all the definitions in this file are re-exported by
--- `Relation.Binary`.
+-- The contents of this module should be accessed via `Relation.Binary`.
 
-{-# OPTIONS --without-K --safe #-}
+{-# OPTIONS --without-K --safe #-}
 
-module Relation.Binary.Core where
+module Relation.Binary.Core where
 
-open import Agda.Builtin.Equality using (_≑_) renaming (refl to ≑-refl)
+open import Data.Product using (_Γ—_)
+open import Function.Base using (_on_)
+open import Level using (Level; _βŠ”_; suc)
 
-open import Data.Maybe.Base using (Maybe)
-open import Data.Product using (_Γ—_)
-open import Data.Sum.Base using (_⊎_)
-open import Function using (_on_; flip)
-open import Level
-open import Relation.Nullary using (Dec; Β¬_)
+private
+  variable
+    a b c β„“ ℓ₁ β„“β‚‚ ℓ₃ : Level
+    A : Set a
+    B : Set b
+    C : Set c
 
-private
-  variable
-    a b c β„“ ℓ₁ β„“β‚‚ ℓ₃ : Level
-    A : Set a
-    B : Set b
-    C : Set c
+------------------------------------------------------------------------
+-- Definitions
+------------------------------------------------------------------------
 
-------------------------------------------------------------------------
--- Definition.
-------------------------------------------------------------------------
+-- Heterogeneous binary relations
 
--- Heterogeneous binary relations
+REL : Set a β†’ Set b β†’ (β„“ : Level) β†’ Set (a βŠ” b βŠ” suc β„“)
+REL A B β„“ = A β†’ B β†’ Set β„“
 
-REL : Set a β†’ Set b β†’ (β„“ : Level) β†’ Set (a βŠ” b βŠ” suc β„“)
-REL A B β„“ = A β†’ B β†’ Set β„“
+-- Homogeneous binary relations
 
--- Homogeneous binary relations
+Rel : Set a β†’ (β„“ : Level) β†’ Set (a βŠ” suc β„“)
+Rel A β„“ = REL A A β„“
 
-Rel : Set a β†’ (β„“ : Level) β†’ Set (a βŠ” suc β„“)
-Rel A β„“ = REL A A β„“
+------------------------------------------------------------------------
+-- Relationships between relations
+------------------------------------------------------------------------
 
-------------------------------------------------------------------------
--- Simple properties
-------------------------------------------------------------------------
+infix 4 _β‡’_ _⇔_ _=[_]β‡’_
 
-infixr 4 _β‡’_ _=[_]β‡’_
+-- Implication/containment - could also be written _βŠ†_.
+-- and corresponding notion of equivalence
 
--- Implication/containment - could also be written _βŠ†_.
+_β‡’_ : REL A B ℓ₁ β†’ REL A B β„“β‚‚ β†’ Set _
+P β‡’ Q = βˆ€ {x y} β†’ P x y β†’ Q x y
 
-_β‡’_ : REL A B ℓ₁ β†’ REL A B β„“β‚‚ β†’ Set _
-P β‡’ Q = βˆ€ {i j} β†’ P i j β†’ Q i j
+_⇔_ : REL A B ℓ₁ β†’ REL A B β„“β‚‚ β†’ Set _
+P ⇔ Q = P β‡’ Q Γ— Q β‡’ P
 
--- Generalised implication - if P ≑ Q it can be read as "f preserves P".
+-- Generalised implication - if P ≑ Q it can be read as "f preserves P".
 
-_=[_]β‡’_ : Rel A ℓ₁ β†’ (A β†’ B) β†’ Rel B β„“β‚‚ β†’ Set _
-P =[ f ]β‡’ Q = P β‡’ (Q on f)
+_=[_]β‡’_ : Rel A ℓ₁ β†’ (A β†’ B) β†’ Rel B β„“β‚‚ β†’ Set _
+P =[ f ]β‡’ Q = P β‡’ (Q on f)
 
--- A synonym for _=[_]β‡’_.
+-- A synonym for _=[_]β‡’_.
 
-_Preserves_⟢_ : (A β†’ B) β†’ Rel A ℓ₁ β†’ Rel B β„“β‚‚ β†’ Set _
-f Preserves P ⟢ Q = P =[ f ]β‡’ Q
+_Preserves_⟢_ : (A β†’ B) β†’ Rel A ℓ₁ β†’ Rel B β„“β‚‚ β†’ Set _
+f Preserves P ⟢ Q = P =[ f ]β‡’ Q
 
--- A binary variant of _Preserves_⟢_.
+-- A binary variant of _Preserves_⟢_.
 
-_Preservesβ‚‚_⟢_⟢_ : (A β†’ B β†’ C) β†’ Rel A ℓ₁ β†’ Rel B β„“β‚‚ β†’ Rel C ℓ₃ β†’ Set _
-_+_ Preservesβ‚‚ P ⟢ Q ⟢ R =
-  βˆ€ {x y u v} β†’ P x y β†’ Q u v β†’ R (x + u) (y + v)
+_Preservesβ‚‚_⟢_⟢_ : (A β†’ B β†’ C) β†’ Rel A ℓ₁ β†’ Rel B β„“β‚‚ β†’ Rel C ℓ₃ β†’ Set _
+_βˆ™_ Preservesβ‚‚ P ⟢ Q ⟢ R = βˆ€ {x y u v} β†’ P x y β†’ Q u v β†’ R (x βˆ™ u) (y βˆ™ v)
 
--- Reflexivity - defined without an underlying equality. It could
--- alternatively be defined as `_β‰ˆ_ β‡’ _∼_` for some equality `_β‰ˆ_`.
 
--- Confusingly the convention in the library is to use the name "refl"
--- for proofs of Reflexive and `reflexive` for proofs of type `_β‰ˆ_ β‡’ _∼_`,
--- e.g. in the definition of `IsEquivalence` later in this file. This
--- convention is a legacy from the early days of the library.
+------------------------------------------------------------------------
+-- Relationships between a binary relation and a unary operation
+------------------------------------------------------------------------
 
-Reflexive : Rel A β„“ β†’ Set _
-Reflexive _∼_ = βˆ€ {x} β†’ x ∼ x
+Contractive : Rel A β„“ β†’ (A β†’ A) β†’ Set _
+Contractive _≀_ f = βˆ€ {x} β†’ f x ≀ x
 
--- Generalised symmetry.
+Extensive : Rel A β„“ β†’ (A β†’ A) β†’ Set _
+Extensive _≀_ f = βˆ€ {x} β†’ x ≀ f x
 
-Sym : REL A B ℓ₁ β†’ REL B A β„“β‚‚ β†’ Set _
-Sym P Q = P β‡’ flip Q
+Idempotent₁ : Rel A β„“ β†’ (A β†’ A) β†’ Set _
+Idempotent₁ _β‰ˆ_ f = βˆ€ {x} β†’ f (f x) β‰ˆ f x
 
--- Symmetry.
-
-Symmetric : Rel A β„“ β†’ Set _
-Symmetric _∼_ = Sym _∼_ _∼_
-
--- Generalised transitivity.
-
-Trans : REL A B ℓ₁ β†’ REL B C β„“β‚‚ β†’ REL A C ℓ₃ β†’ Set _
-Trans P Q R = βˆ€ {i j k} β†’ P i j β†’ Q j k β†’ R i k
-
--- A flipped variant of generalised transitivity.
-
-TransFlip : REL A B ℓ₁ β†’ REL B C β„“β‚‚ β†’ REL A C ℓ₃ β†’ Set _
-TransFlip P Q R = βˆ€ {i j k} β†’ Q j k β†’ P i j β†’ R i k
-
--- Transitivity.
-
-Transitive : Rel A β„“ β†’ Set _
-Transitive _∼_ = Trans _∼_ _∼_ _∼_
-
--- Generalised antisymmetry
-
-Antisym : REL A B ℓ₁ β†’ REL B A β„“β‚‚ β†’ REL A B ℓ₃ β†’ Set _
-Antisym R S E = βˆ€ {i j} β†’ R i j β†’ S j i β†’ E i j
-
--- Antisymmetry.
-
-Antisymmetric : Rel A ℓ₁ β†’ Rel A β„“β‚‚ β†’ Set _
-Antisymmetric _β‰ˆ_ _≀_ = Antisym _≀_ _≀_ _β‰ˆ_
-
--- Irreflexivity - this is defined terms of the underlying equality.
-
-Irreflexive : REL A B ℓ₁ β†’ REL A B β„“β‚‚ β†’ Set _
-Irreflexive _β‰ˆ_ _<_ = βˆ€ {x y} β†’ x β‰ˆ y β†’ Β¬ (x < y)
-
--- Asymmetry.
-
-Asymmetric : Rel A β„“ β†’ Set _
-Asymmetric _<_ = βˆ€ {x y} β†’ x < y β†’ Β¬ (y < x)
-
--- Generalised connex - exactly one of the two relations holds.
-
-Connex : REL A B ℓ₁ β†’ REL B A β„“β‚‚ β†’ Set _
-Connex P Q = βˆ€ x y β†’ P x y ⊎ Q y x
-
--- Totality.
-
-Total : Rel A β„“ β†’ Set _
-Total _∼_ = Connex _∼_ _∼_
-
--- Generalised trichotomy - exactly one of three types has a witness.
-
-data Tri (A : Set a) (B : Set b) (C : Set c) : Set (a βŠ” b βŠ” c) where
-  tri< : ( a :   A) (Β¬b : Β¬ B) (Β¬c : Β¬ C) β†’ Tri A B C
-  triβ‰ˆ : (Β¬a : Β¬ A) ( b :   B) (Β¬c : Β¬ C) β†’ Tri A B C
-  tri> : (Β¬a : Β¬ A) (Β¬b : Β¬ B) ( c :   C) β†’ Tri A B C
-
--- Trichotomy.
-
-Trichotomous : Rel A ℓ₁ β†’ Rel A β„“β‚‚ β†’ Set _
-Trichotomous _β‰ˆ_ _<_ = βˆ€ x y β†’ Tri (x < y) (x β‰ˆ y) (x > y)
-  where _>_ = flip _<_
-
--- Generalised maximum element.
-
-Max : REL A B β„“ β†’ B β†’ Set _
-Max _≀_ T = βˆ€ x β†’ x ≀ T
-
--- Maximum element.
-
-Maximum : Rel A β„“ β†’ A β†’ Set _
-Maximum = Max
-
--- Generalised minimum element.
-
-Min : REL A B β„“ β†’ A β†’ Set _
-Min R = Max (flip R)
-
--- Minimum element.
-
-Minimum : Rel A β„“ β†’ A β†’ Set _
-Minimum = Min
-
--- Unary relations respecting a binary relation.
-
-_⟢_Respects_ : (A β†’ Set ℓ₁) β†’ (B β†’ Set β„“β‚‚) β†’ REL A B ℓ₃ β†’ Set _
-P ⟢ Q Respects _∼_ = βˆ€ {x y} β†’ x ∼ y β†’ P x β†’ Q y
-
--- Unary relation respects a binary relation.
-
-_Respects_ : (A β†’ Set ℓ₁) β†’ Rel A β„“β‚‚ β†’ Set _
-P Respects _∼_ = P ⟢ P Respects _∼_
-
--- Right respecting - relatedness is preserved on the right by equality.
-
-_RespectsΚ³_ : REL A B ℓ₁ β†’ Rel B β„“β‚‚ β†’ Set _
-_∼_ RespectsΚ³ _β‰ˆ_ = βˆ€ {x} β†’ (x ∼_) Respects _β‰ˆ_
-
--- Left respecting - relatedness is preserved on the left by equality.
-
-_RespectsΛ‘_ : REL A B ℓ₁ β†’ Rel A β„“β‚‚ β†’ Set _
-P RespectsΛ‘ _∼_ = βˆ€ {y} β†’ (flip P y) Respects _∼_
-
--- Respecting - relatedness is preserved on both sides by equality
-
-_Respectsβ‚‚_ : Rel A ℓ₁ β†’ Rel A β„“β‚‚ β†’ Set _
-P Respectsβ‚‚ _∼_ = (P RespectsΚ³ _∼_) Γ— (P RespectsΛ‘ _∼_)
-
--- Substitutivity - any two related elements satisfy exactly the same
--- set of unary relations. Note that only the various derivatives
--- of propositional equality can satisfy this property.
-
-Substitutive : Rel A ℓ₁ β†’ (β„“β‚‚ : Level) β†’ Set _
-Substitutive {A = A} _∼_ p = (P : A β†’ Set p) β†’ P Respects _∼_
-
--- Decidability - it is possible to determine whether a given pair of
--- elements are related.
-
-Decidable : REL A B β„“ β†’ Set _
-Decidable _∼_ = βˆ€ x y β†’ Dec (x ∼ y)
-
--- Weak decidability - it is sometimes possible to determine if a given
--- pair of elements are related.
-
-WeaklyDecidable : REL A B β„“ β†’ Set _
-WeaklyDecidable _∼_ = βˆ€ x y β†’ Maybe (x ∼ y)
-
--- Irrelevancy - all proofs that a given pair of elements are related
--- are indistinguishable.
-
-Irrelevant : REL A B β„“ β†’ Set _
-Irrelevant _∼_ = βˆ€ {x y} (a b : x ∼ y) β†’ a ≑ b
-
--- Recomputability - we can rebuild a relevant proof given an
--- irrelevant one.
-
-Recomputable : REL A B β„“ β†’ Set _
-Recomputable _∼_ = βˆ€ {x y} β†’ .(x ∼ y) β†’ x ∼ y
-
--- Universal - all pairs of elements are related
-
-Universal : REL A B β„“ β†’ Set _
-Universal _∼_ = βˆ€ x y β†’ x ∼ y
-
--- Non-emptiness - at least one pair of elements are related.
-
-record NonEmpty {A : Set a} {B : Set b}
-                (T : REL A B β„“) : Set (a βŠ” b βŠ” β„“) where
-  constructor nonEmpty
-  field
-    {x}   : A
-    {y}   : B
-    proof : T x y
-
-------------------------------------------------------------------------
--- Equivalence relations
-
--- The preorders of this library are defined in terms of an underlying
--- equivalence relation, and hence equivalence relations are not
--- defined in terms of preorders.
-
--- This record is defined here instead of with the rest of the
--- structures in `Relation.Binary` due to dependency cyles with
--- `Relation.Binary.PropositionalEquality`.
-
-record IsEquivalence {A : Set a} (_β‰ˆ_ : Rel A β„“) : Set (a βŠ” β„“) where
-  field
-    refl  : Reflexive _β‰ˆ_
-    sym   : Symmetric _β‰ˆ_
-    trans : Transitive _β‰ˆ_
-
-  reflexive : _≑_ β‡’ _β‰ˆ_
-  reflexive ≑-refl = refl
-
-
-
-------------------------------------------------------------------------
--- DEPRECATED NAMES
-------------------------------------------------------------------------
--- Please use the new names as continuing support for the old names is
--- not guaranteed.
-
--- Version 1.1
-
-Conn = Connex
-{-# WARNING_ON_USAGE Conn
-"Warning: Conn was deprecated in v1.1.
-Please use Connex instead."
-#-}
+-- cf. Algebra.Definitions.{_IdempotentOn_,Idempotent,IdempotentFun}
+-- Idempotent₁ is essentially the same as IdempotentFun except that
+-- here we can specify the relation `_β‰ˆ_` "in place" instead of having
+-- to do `open import Algebra.Definitions (_β‰ˆ_)` ahead of time.
diff --git a/UALib/html/Relation.Binary.PropositionalEquality.Core.html b/UALib/html/Relation.Binary.PropositionalEquality.Core.html
index 1cf00128..140ace6c 100644
--- a/UALib/html/Relation.Binary.PropositionalEquality.Core.html
+++ b/UALib/html/Relation.Binary.PropositionalEquality.Core.html
@@ -12,104 +12,114 @@
 module Relation.Binary.PropositionalEquality.Core where
 
 open import Data.Product using (_,_)
-open import Function     using (_∘_)
-open import Level
-open import Relation.Binary.Core
-open import Relation.Nullary using (Β¬_)
+open import Function.Base using (_∘_)
+open import Level
+open import Relation.Binary.Core
+open import Relation.Binary.Definitions
+open import Relation.Nullary using (Β¬_)
 
-private
-  variable
-    a b β„“ : Level
-    A : Set a
-    B : Set b
+private
+  variable
+    a b β„“ : Level
+    A B C : Set a
 
-------------------------------------------------------------------------
--- Propositional equality
+------------------------------------------------------------------------
+-- Propositional equality
 
-open import Agda.Builtin.Equality public
+open import Agda.Builtin.Equality public
 
-infix 4 _β‰’_
-_β‰’_ : {A : Set a} β†’ Rel A a
-x β‰’ y = Β¬ x ≑ y
+infix 4 _β‰’_
+_β‰’_ : {A : Set a} β†’ Rel A a
+x β‰’ y = Β¬ x ≑ y
 
-------------------------------------------------------------------------
--- Properties of _≑_
+------------------------------------------------------------------------
+-- A variant of `refl` where the argument is explicit
 
-sym : Symmetric {A = A} _≑_
-sym refl = refl
+pattern erefl x = refl {x = x}
 
-trans : Transitive {A = A} _≑_
-trans refl eq = eq
+------------------------------------------------------------------------
+-- Congruence lemmas
 
-subst : Substitutive {A = A} _≑_ β„“
-subst P refl p = p
+cong : βˆ€ (f : A β†’ B) {x y} β†’ x ≑ y β†’ f x ≑ f y
+cong f refl = refl
 
-cong : βˆ€ (f : A β†’ B) {x y} β†’ x ≑ y β†’ f x ≑ f y
-cong f refl = refl
+congβ€² : βˆ€ {f : A β†’ B} x β†’ f x ≑ f x
+congβ€² _ = refl
 
-respΛ‘ : βˆ€ (∼ : Rel A β„“) β†’ ∼ RespectsΛ‘ _≑_
-respˑ _∼_ refl x∼y = x∼y
+icong : βˆ€ {f : A β†’ B} {x y} β†’ x ≑ y β†’ f x ≑ f y
+icong = cong _
 
-respΚ³ : βˆ€ (∼ : Rel A β„“) β†’ ∼ RespectsΚ³ _≑_
-respʳ _∼_ refl x∼y = x∼y
+icongβ€² : βˆ€ {f : A β†’ B} x β†’ f x ≑ f x
+icongβ€² _ = refl
 
-respβ‚‚ : βˆ€ (∼ : Rel A β„“) β†’ ∼ Respectsβ‚‚ _≑_
-respβ‚‚ _∼_ = respΚ³ _∼_ , respΛ‘ _∼_
+congβ‚‚ : βˆ€ (f : A β†’ B β†’ C) {x y u v} β†’ x ≑ y β†’ u ≑ v β†’ f x u ≑ f y v
+congβ‚‚ f refl refl = refl
 
-isEquivalence : IsEquivalence {A = A} _≑_
-isEquivalence = record
-  { refl  = refl
-  ; sym   = sym
-  ; trans = trans
-  }
+cong-app : βˆ€ {A : Set a} {B : A β†’ Set b} {f g : (x : A) β†’ B x} β†’
+           f ≑ g β†’ (x : A) β†’ f x ≑ g x
+cong-app refl x = refl
 
-------------------------------------------------------------------------
--- Various equality rearrangement lemmas
+------------------------------------------------------------------------
+-- Properties of _≑_
 
-trans-reflΚ³ : βˆ€ {x y : A} (p : x ≑ y) β†’ trans p refl ≑ p
-trans-reflΚ³ refl = refl
+sym : Symmetric {A = A} _≑_
+sym refl = refl
 
-trans-assoc : βˆ€ {x y z u : A} (p : x ≑ y) {q : y ≑ z} {r : z ≑ u} β†’
-  trans (trans p q) r ≑ trans p (trans q r)
-trans-assoc refl = refl
+trans : Transitive {A = A} _≑_
+trans refl eq = eq
 
-trans-symΛ‘ : βˆ€ {x y : A} (p : x ≑ y) β†’ trans (sym p) p ≑ refl
-trans-symΛ‘ refl = refl
+subst : Substitutive {A = A} _≑_ β„“
+subst P refl p = p
 
-trans-symΚ³ : βˆ€ {x y : A} (p : x ≑ y) β†’ trans p (sym p) ≑ refl
-trans-symΚ³ refl = refl
+substβ‚‚ : βˆ€ (_∼_ : REL A B β„“) {x y u v} β†’ x ≑ y β†’ u ≑ v β†’ x ∼ u β†’ y ∼ v
+substβ‚‚ _ refl refl p = p
 
-------------------------------------------------------------------------
--- Properties of _β‰’_
+resp : βˆ€ (P : A β†’ Set β„“) β†’ P Respects _≑_
+resp P refl p = p
 
-β‰’-sym : Symmetric {A = A} _β‰’_
-β‰’-sym xβ‰’y =  xβ‰’y ∘ sym
+respΛ‘ : βˆ€ (∼ : Rel A β„“) β†’ ∼ RespectsΛ‘ _≑_
+respˑ _∼_ refl x∼y = x∼y
 
-------------------------------------------------------------------------
--- Convenient syntax for equational reasoning
+respΚ³ : βˆ€ (∼ : Rel A β„“) β†’ ∼ RespectsΚ³ _≑_
+respʳ _∼_ refl x∼y = x∼y
 
--- This is a special instance of `Relation.Binary.Reasoning.Setoid`.
--- Rather than instantiating the latter with (setoid A), we reimplement
--- equation chains from scratch since then goals are printed much more
--- readably.
+respβ‚‚ : βˆ€ (∼ : Rel A β„“) β†’ ∼ Respectsβ‚‚ _≑_
+respβ‚‚ _∼_ = respΚ³ _∼_ , respΛ‘ _∼_
 
-module ≑-Reasoning {A : Set a} where
+------------------------------------------------------------------------
+-- Properties of _β‰’_
 
-  infix  3 _∎
-  infixr 2 _β‰‘βŸ¨βŸ©_ _β‰‘βŸ¨_⟩_ _β‰‘Λ˜βŸ¨_⟩_
-  infix  1 begin_
+β‰’-sym : Symmetric {A = A} _β‰’_
+β‰’-sym xβ‰’y =  xβ‰’y ∘ sym
 
-  begin_ : βˆ€{x y : A} β†’ x ≑ y β†’ x ≑ y
-  begin_ x≑y = x≑y
+------------------------------------------------------------------------
+-- Convenient syntax for equational reasoning
 
-  _β‰‘βŸ¨βŸ©_ : βˆ€ (x {y} : A) β†’ x ≑ y β†’ x ≑ y
-  _ β‰‘βŸ¨βŸ© x≑y = x≑y
+-- This is a special instance of `Relation.Binary.Reasoning.Setoid`.
+-- Rather than instantiating the latter with (setoid A), we reimplement
+-- equation chains from scratch since then goals are printed much more
+-- readably.
 
-  _β‰‘βŸ¨_⟩_ : βˆ€ (x {y z} : A) β†’ x ≑ y β†’ y ≑ z β†’ x ≑ z
-  _ β‰‘βŸ¨ x≑y ⟩ y≑z = trans x≑y y≑z
+module ≑-Reasoning {A : Set a} where
 
-  _β‰‘Λ˜βŸ¨_⟩_ : βˆ€ (x {y z} : A) β†’ y ≑ x β†’ y ≑ z β†’ x ≑ z
-  _ β‰‘Λ˜βŸ¨ y≑x ⟩ y≑z = trans (sym y≑x) y≑z
+  infix  3 _∎
+  infixr 2 _β‰‘βŸ¨βŸ©_ step-≑ step-β‰‘Λ˜
+  infix  1 begin_
 
-  _∎ : βˆ€ (x : A) β†’ x ≑ x
-  _∎ _ = refl
+  begin_ : βˆ€{x y : A} β†’ x ≑ y β†’ x ≑ y
+  begin_ x≑y = x≑y
+
+  _β‰‘βŸ¨βŸ©_ : βˆ€ (x {y} : A) β†’ x ≑ y β†’ x ≑ y
+  _ β‰‘βŸ¨βŸ© x≑y = x≑y
+
+  step-≑ : βˆ€ (x {y z} : A) β†’ y ≑ z β†’ x ≑ y β†’ x ≑ z
+  step-≑ _ y≑z x≑y = trans x≑y y≑z
+
+  step-β‰‘Λ˜ : βˆ€ (x {y z} : A) β†’ y ≑ z β†’ y ≑ x β†’ x ≑ z
+  step-β‰‘Λ˜ _ y≑z y≑x = trans (sym y≑x) y≑z
+
+  _∎ : βˆ€ (x : A) β†’ x ≑ x
+  _∎ _ = refl
+
+  syntax step-≑  x y≑z x≑y = x β‰‘βŸ¨  x≑y ⟩ y≑z
+  syntax step-β‰‘Λ˜ x y≑z y≑x = x β‰‘Λ˜βŸ¨ y≑x ⟩ y≑z
diff --git a/UALib/html/Relation.Nullary.html b/UALib/html/Relation.Nullary.html
index 5d0de5eb..afc27284 100644
--- a/UALib/html/Relation.Nullary.html
+++ b/UALib/html/Relation.Nullary.html
@@ -11,29 +11,60 @@
 module Relation.Nullary where
 
 open import Agda.Builtin.Equality
+open import Agda.Builtin.Bool
 
-open import Data.Empty hiding (βŠ₯-elim)
-open import Data.Empty.Irrelevant
-open import Level
+open import Data.Empty hiding (βŠ₯-elim)
+open import Data.Empty.Irrelevant
+open import Level
 
--- Negation.
+------------------------------------------------------------------------
+-- Negation.
 
-infix 3 Β¬_
+infix 3 Β¬_
+infix 2 _because_
 
-Β¬_ : βˆ€ {β„“} β†’ Set β„“ β†’ Set β„“
-Β¬ P = P β†’ βŠ₯
+Β¬_ : βˆ€ {β„“} β†’ Set β„“ β†’ Set β„“
+Β¬ P = P β†’ βŠ₯
 
--- Decidable relations.
+------------------------------------------------------------------------
+-- `Reflects` idiom.
 
-data Dec {p} (P : Set p) : Set p where
-  yes : ( p :   P) β†’ Dec P
-  no  : (Β¬p : Β¬ P) β†’ Dec P
+-- The truth value of P is reflected by a boolean value.
 
--- Given an irrelevant proof of a decidable type, a proof can
--- be recomputed and subsequently used in relevant contexts.
-recompute : βˆ€ {a} {A : Set a} β†’ Dec A β†’ .A β†’ A
-recompute (yes x) _ = x
-recompute (no Β¬p) x = βŠ₯-elim (Β¬p x)
+data Reflects {p} (P : Set p) : Bool β†’ Set p where
+  ofΚΈ : ( p :   P) β†’ Reflects P true
+  ofⁿ : (Β¬p : Β¬ P) β†’ Reflects P false
 
-Irrelevant : βˆ€ {p} β†’ Set p β†’ Set p
-Irrelevant P = βˆ€ (p₁ pβ‚‚ : P) β†’ p₁ ≑ pβ‚‚
+------------------------------------------------------------------------
+-- Decidability.
+
+-- Decidability proofs have two parts: the `does` term which contains
+-- the boolean result and the `proof` term which contains a proof that
+-- reflects the boolean result. This definition allows the boolean
+-- part of the decision procedure to compute independently from the
+-- proof. This leads to better computational behaviour when we only care
+-- about the result and not the proof. See README.Decidability for
+-- further details.
+
+record Dec {p} (P : Set p) : Set p where
+  constructor _because_
+  field
+    does  : Bool
+    proof : Reflects P does
+
+open Dec public
+
+pattern yes p =  true because ofΚΈ  p
+pattern no ¬p = false because ofⁿ ¬p
+
+-- Given an irrelevant proof of a decidable type, a proof can
+-- be recomputed and subsequently used in relevant contexts.
+recompute : βˆ€ {a} {A : Set a} β†’ Dec A β†’ .A β†’ A
+recompute (yes x) _ = x
+recompute (no Β¬p) x = βŠ₯-elim (Β¬p x)
+
+------------------------------------------------------------------------
+-- Irrelevant types
+
+Irrelevant : βˆ€ {p} β†’ Set p β†’ Set p
+Irrelevant P = βˆ€ (p₁ pβ‚‚ : P) β†’ p₁ ≑ pβ‚‚
diff --git a/UALib/html/Relation.Unary.html b/UALib/html/Relation.Unary.html
index 934eb9fc..a5045355 100644
--- a/UALib/html/Relation.Unary.html
+++ b/UALib/html/Relation.Unary.html
@@ -11,280 +11,287 @@
 open import Data.Empty
 open import Data.Unit.Base using (⊀)
 open import Data.Product
-open import Data.Sum using (_⊎_; [_,_])
-open import Function
-open import Level
-open import Relation.Nullary hiding (Irrelevant)
-open import Relation.Binary.PropositionalEquality.Core using (_≑_)
+open import Data.Sum.Base using (_⊎_; [_,_])
+open import Function.Base
+open import Level
+open import Relation.Nullary hiding (Irrelevant)
+open import Relation.Nullary.Decidable.Core using (True)
+open import Relation.Binary.PropositionalEquality.Core using (_≑_)
 
-private
-  variable
-    a b c β„“ ℓ₁ β„“β‚‚ : Level
-    A : Set a
-    B : Set b
-    C : Set c
+private
+  variable
+    a b c β„“ ℓ₁ β„“β‚‚ : Level
+    A : Set a
+    B : Set b
+    C : Set c
 
-------------------------------------------------------------------------
--- Unary relations
+------------------------------------------------------------------------
+-- Definition
 
--- Unary relations are known as predicates and `Pred A β„“` can be viewed
--- as some property that elements of type A might satisfy.
+-- Unary relations are known as predicates and `Pred A β„“` can be viewed
+-- as some property that elements of type A might satisfy.
 
--- Consequently `P : Pred A β„“` can also be seen as a subset of A
--- containing all the elements of A that satisfy property P. This view
--- informs much of the notation used below.
+-- Consequently `P : Pred A β„“` can also be seen as a subset of A
+-- containing all the elements of A that satisfy property P. This view
+-- informs much of the notation used below.
 
-Pred : βˆ€ {a} β†’ Set a β†’ (β„“ : Level) β†’ Set (a βŠ” suc β„“)
-Pred A β„“ = A β†’ Set β„“
+Pred : βˆ€ {a} β†’ Set a β†’ (β„“ : Level) β†’ Set (a βŠ” suc β„“)
+Pred A β„“ = A β†’ Set β„“
 
-------------------------------------------------------------------------
--- Special sets
+------------------------------------------------------------------------
+-- Special sets
 
--- The empty set.
+-- The empty set.
 
-βˆ… : Pred A 0β„“
-βˆ… = Ξ» _ β†’ βŠ₯
+βˆ… : Pred A 0β„“
+βˆ… = Ξ» _ β†’ βŠ₯
 
--- The singleton set.
+-- The singleton set.
 
-ο½›_} : A β†’ Pred A _
-ο½› x } = x ≑_
+ο½›_} : A β†’ Pred A _
+ο½› x } = x ≑_
 
--- The universal set.
+-- The universal set.
 
-U : Pred A 0β„“
-U = Ξ» _ β†’ ⊀
+U : Pred A 0β„“
+U = Ξ» _ β†’ ⊀
 
-------------------------------------------------------------------------
--- Membership
+------------------------------------------------------------------------
+-- Membership
 
-infix 4 _∈_ _βˆ‰_
+infix 4 _∈_ _βˆ‰_
 
-_∈_ : A β†’ Pred A β„“ β†’ Set _
-x ∈ P = P x
+_∈_ : A β†’ Pred A β„“ β†’ Set _
+x ∈ P = P x
 
-_βˆ‰_ : A β†’ Pred A β„“ β†’ Set _
-x βˆ‰ P = Β¬ x ∈ P
+_βˆ‰_ : A β†’ Pred A β„“ β†’ Set _
+x βˆ‰ P = Β¬ x ∈ P
 
-------------------------------------------------------------------------
--- Subset relations
+------------------------------------------------------------------------
+-- Subset relations
 
-infix 4 _βŠ†_ _βŠ‡_ _⊈_ _βŠ‰_ _βŠ‚_ _βŠƒ_ _βŠ„_ _βŠ…_
+infix 4 _βŠ†_ _βŠ‡_ _⊈_ _βŠ‰_ _βŠ‚_ _βŠƒ_ _βŠ„_ _βŠ…_
 
-_βŠ†_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
-P βŠ† Q = βˆ€ {x} β†’ x ∈ P β†’ x ∈ Q
+_βŠ†_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
+P βŠ† Q = βˆ€ {x} β†’ x ∈ P β†’ x ∈ Q
 
-_βŠ‡_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
-P βŠ‡ Q = Q βŠ† P
+_βŠ‡_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
+P βŠ‡ Q = Q βŠ† P
 
-_⊈_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
-P ⊈ Q = Β¬ (P βŠ† Q)
+_⊈_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
+P ⊈ Q = Β¬ (P βŠ† Q)
 
-_βŠ‰_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
-P βŠ‰ Q = Β¬ (P βŠ‡ Q)
+_βŠ‰_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
+P βŠ‰ Q = Β¬ (P βŠ‡ Q)
 
-_βŠ‚_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
-P βŠ‚ Q = P βŠ† Q Γ— Q ⊈ P
+_βŠ‚_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
+P βŠ‚ Q = P βŠ† Q Γ— Q ⊈ P
 
-_βŠƒ_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
-P βŠƒ Q = Q βŠ‚ P
+_βŠƒ_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
+P βŠƒ Q = Q βŠ‚ P
 
-_βŠ„_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
-P βŠ„ Q = Β¬ (P βŠ‚ Q)
+_βŠ„_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
+P βŠ„ Q = Β¬ (P βŠ‚ Q)
 
-_βŠ…_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
-P βŠ… Q = Β¬ (P βŠƒ Q)
+_βŠ…_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
+P βŠ… Q = Β¬ (P βŠƒ Q)
 
--- The following primed variants of _βŠ†_ can be used when 'x' can't
--- be inferred from 'x ∈ P'.
+-- The following primed variants of _βŠ†_ can be used when 'x' can't
+-- be inferred from 'x ∈ P'.
 
-infix 4 _βŠ†β€²_ _βŠ‡β€²_ _βŠˆβ€²_ _βŠ‰β€²_ _βŠ‚β€²_ _βŠƒβ€²_ _βŠ„β€²_ _βŠ…β€²_
+infix 4 _βŠ†β€²_ _βŠ‡β€²_ _βŠˆβ€²_ _βŠ‰β€²_ _βŠ‚β€²_ _βŠƒβ€²_ _βŠ„β€²_ _βŠ…β€²_
 
-_βŠ†β€²_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
-P βŠ†β€² Q = βˆ€ x β†’ x ∈ P β†’ x ∈ Q
+_βŠ†β€²_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
+P βŠ†β€² Q = βˆ€ x β†’ x ∈ P β†’ x ∈ Q
 
-_βŠ‡β€²_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
-Q βŠ‡β€² P = P βŠ†β€² Q
+_βŠ‡β€²_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
+Q βŠ‡β€² P = P βŠ†β€² Q
 
-_βŠˆβ€²_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
-P βŠˆβ€² Q = Β¬ (P βŠ†β€² Q)
+_βŠˆβ€²_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
+P βŠˆβ€² Q = Β¬ (P βŠ†β€² Q)
 
-_βŠ‰β€²_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
-P βŠ‰β€² Q = Β¬ (P βŠ‡β€² Q)
+_βŠ‰β€²_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
+P βŠ‰β€² Q = Β¬ (P βŠ‡β€² Q)
 
-_βŠ‚β€²_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
-P βŠ‚β€² Q = P βŠ†β€² Q Γ— Q βŠˆβ€² P
+_βŠ‚β€²_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
+P βŠ‚β€² Q = P βŠ†β€² Q Γ— Q βŠˆβ€² P
 
-_βŠƒβ€²_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
-P βŠƒβ€² Q = Q βŠ‚β€² P
+_βŠƒβ€²_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
+P βŠƒβ€² Q = Q βŠ‚β€² P
 
-_βŠ„β€²_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
-P βŠ„β€² Q = Β¬ (P βŠ‚β€² Q)
+_βŠ„β€²_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
+P βŠ„β€² Q = Β¬ (P βŠ‚β€² Q)
 
-_βŠ…β€²_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
-P βŠ…β€² Q = Β¬ (P βŠƒβ€² Q)
+_βŠ…β€²_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
+P βŠ…β€² Q = Β¬ (P βŠƒβ€² Q)
 
-------------------------------------------------------------------------
--- Properties of sets
+------------------------------------------------------------------------
+-- Properties of sets
 
-infix 10 Satisfiable Universal IUniversal
+infix 10 Satisfiable Universal IUniversal
 
--- Emptiness - no element satisfies P.
+-- Emptiness - no element satisfies P.
 
-Empty : Pred A β„“ β†’ Set _
-Empty P = βˆ€ x β†’ x βˆ‰ P
+Empty : Pred A β„“ β†’ Set _
+Empty P = βˆ€ x β†’ x βˆ‰ P
 
--- Satisfiable - at least one element satisfies P.
+-- Satisfiable - at least one element satisfies P.
 
-Satisfiable : Pred A β„“ β†’ Set _
-Satisfiable P = βˆƒ Ξ» x β†’ x ∈ P
+Satisfiable : Pred A β„“ β†’ Set _
+Satisfiable P = βˆƒ Ξ» x β†’ x ∈ P
 
-syntax Satisfiable P = βˆƒβŸ¨ P ⟩
+syntax Satisfiable P = βˆƒβŸ¨ P ⟩
 
--- Universality - all elements satisfy P.
+-- Universality - all elements satisfy P.
 
-Universal : Pred A β„“ β†’ Set _
-Universal P = βˆ€ x β†’ x ∈ P
+Universal : Pred A β„“ β†’ Set _
+Universal P = βˆ€ x β†’ x ∈ P
 
-syntax Universal  P = Ξ [ P ]
+syntax Universal  P = Ξ [ P ]
 
--- Implicit universality - all elements satisfy P.
+-- Implicit universality - all elements satisfy P.
 
-IUniversal : Pred A β„“ β†’ Set _
-IUniversal P = βˆ€ {x} β†’ x ∈ P
+IUniversal : Pred A β„“ β†’ Set _
+IUniversal P = βˆ€ {x} β†’ x ∈ P
 
-syntax IUniversal P = βˆ€[ P ]
+syntax IUniversal P = βˆ€[ P ]
 
--- Decidability - it is possible to determine if an arbitrary element
--- satisfies P.
+-- Decidability - it is possible to determine if an arbitrary element
+-- satisfies P.
 
-Decidable : Pred A β„“ β†’ Set _
-Decidable P = βˆ€ x β†’ Dec (P x)
+Decidable : Pred A β„“ β†’ Set _
+Decidable P = βˆ€ x β†’ Dec (P x)
 
--- Irrelevance - any two proofs that an element satifies P are
--- indistinguishable.
+-- Erasure: A decidable predicate gives rise to another one, more
+-- amenable to Ξ·-expansion
 
-Irrelevant : Pred A β„“ β†’ Set _
-Irrelevant P = βˆ€ {x} (a : P x) (b : P x) β†’ a ≑ b
+⌊_βŒ‹ : {P : Pred A β„“} β†’ Decidable P β†’ Pred A β„“
+⌊ P? βŒ‹ a = Lift _ (True (P? a))
 
--- Recomputability - we can rebuild a relevant proof given an
--- irrelevant one.
+-- Irrelevance - any two proofs that an element satifies P are
+-- indistinguishable.
 
-Recomputable : Pred A β„“ β†’ Set _
-Recomputable P = βˆ€ {x} β†’ .(P x) β†’ P x
+Irrelevant : Pred A β„“ β†’ Set _
+Irrelevant P = βˆ€ {x} (a : P x) (b : P x) β†’ a ≑ b
 
-------------------------------------------------------------------------
--- Operations on sets
+-- Recomputability - we can rebuild a relevant proof given an
+-- irrelevant one.
 
-infix 10 ⋃ β‹‚
-infixr 9 _⊒_
-infixr 8 _β‡’_
-infixr 7 _∩_
-infixr 6 _βˆͺ_
-infix 4 _≬_
+Recomputable : Pred A β„“ β†’ Set _
+Recomputable P = βˆ€ {x} β†’ .(P x) β†’ P x
 
--- Complement.
+------------------------------------------------------------------------
+-- Operations on sets
 
-∁ : Pred A β„“ β†’ Pred A β„“
-∁ P = Ξ» x β†’ x βˆ‰ P
+infix 10 ⋃ β‹‚
+infixr 9 _⊒_
+infixr 8 _β‡’_
+infixr 7 _∩_
+infixr 6 _βˆͺ_
+infix 4 _≬_
 
--- Implication.
+-- Complement.
 
-_β‡’_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Pred A _
-P β‡’ Q = Ξ» x β†’ x ∈ P β†’ x ∈ Q
+∁ : Pred A β„“ β†’ Pred A β„“
+∁ P = Ξ» x β†’ x βˆ‰ P
 
--- Union.
+-- Implication.
 
-_βˆͺ_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Pred A _
-P βˆͺ Q = Ξ» x β†’ x ∈ P ⊎ x ∈ Q
+_β‡’_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Pred A _
+P β‡’ Q = Ξ» x β†’ x ∈ P β†’ x ∈ Q
 
--- Intersection.
+-- Union.
 
-_∩_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Pred A _
-P ∩ Q = Ξ» x β†’ x ∈ P Γ— x ∈ Q
+_βˆͺ_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Pred A _
+P βˆͺ Q = Ξ» x β†’ x ∈ P ⊎ x ∈ Q
 
--- Infinitary union.
+-- Intersection.
 
-⋃ : βˆ€ {i} (I : Set i) β†’ (I β†’ Pred A β„“) β†’ Pred A _
-⋃ I P = Ξ» x β†’ Ξ£[ i ∈ I ] P i x
+_∩_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Pred A _
+P ∩ Q = Ξ» x β†’ x ∈ P Γ— x ∈ Q
 
-syntax ⋃ I (Ξ» i β†’ P) = ⋃[ i ∢ I ] P
+-- Infinitary union.
 
--- Infinitary intersection.
+⋃ : βˆ€ {i} (I : Set i) β†’ (I β†’ Pred A β„“) β†’ Pred A _
+⋃ I P = Ξ» x β†’ Ξ£[ i ∈ I ] P i x
 
-β‹‚ : βˆ€ {i} (I : Set i) β†’ (I β†’ Pred A β„“) β†’ Pred A _
-β‹‚ I P = Ξ» x β†’ (i : I) β†’ P i x
+syntax ⋃ I (Ξ» i β†’ P) = ⋃[ i ∢ I ] P
 
-syntax β‹‚ I (Ξ» i β†’ P) = β‹‚[ i ∢ I ] P
+-- Infinitary intersection.
 
--- Positive version of non-disjointness, dual to inclusion.
+β‹‚ : βˆ€ {i} (I : Set i) β†’ (I β†’ Pred A β„“) β†’ Pred A _
+β‹‚ I P = Ξ» x β†’ (i : I) β†’ P i x
 
-_≬_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
-P ≬ Q = βˆƒ Ξ» x β†’ x ∈ P Γ— x ∈ Q
+syntax β‹‚ I (Ξ» i β†’ P) = β‹‚[ i ∢ I ] P
 
--- Update.
+-- Positive version of non-disjointness, dual to inclusion.
 
-_⊒_ : (A β†’ B) β†’ Pred B β„“ β†’ Pred A β„“
-f ⊒ P = Ξ» x β†’ P (f x)
+_≬_ : Pred A ℓ₁ β†’ Pred A β„“β‚‚ β†’ Set _
+P ≬ Q = βˆƒ Ξ» x β†’ x ∈ P Γ— x ∈ Q
 
-------------------------------------------------------------------------
--- Predicate combinators
+-- Update.
 
--- These differ from the set operations above, as the carrier set of the
--- resulting predicates are not the same as the carrier set of the
--- component predicates.
+_⊒_ : (A β†’ B) β†’ Pred B β„“ β†’ Pred A β„“
+f ⊒ P = Ξ» x β†’ P (f x)
 
-infixr  2 _βŸ¨Γ—βŸ©_
-infixr  2 _βŸ¨βŠ™βŸ©_
-infixr  1 _⟨⊎⟩_
-infixr  0 _βŸ¨β†’βŸ©_
-infixl  9 _⟨·⟩_
-infix  10 _~
-infixr  9 _⟨∘⟩_
-infixr  2 _//_ _\\_
+------------------------------------------------------------------------
+-- Predicate combinators
 
--- Product.
+-- These differ from the set operations above, as the carrier set of the
+-- resulting predicates are not the same as the carrier set of the
+-- component predicates.
 
-_βŸ¨Γ—βŸ©_ : Pred A ℓ₁ β†’ Pred B β„“β‚‚ β†’ Pred (A Γ— B) _
-(P βŸ¨Γ—βŸ© Q) (x , y) = x ∈ P Γ— y ∈ Q
+infixr  2 _βŸ¨Γ—βŸ©_
+infixr  2 _βŸ¨βŠ™βŸ©_
+infixr  1 _⟨⊎⟩_
+infixr  0 _βŸ¨β†’βŸ©_
+infixl  9 _⟨·⟩_
+infix  10 _~
+infixr  9 _⟨∘⟩_
+infixr  2 _//_ _\\_
 
--- Sum over one element.
+-- Product.
 
-_⟨⊎⟩_ : Pred A β„“ β†’ Pred B β„“ β†’ Pred (A ⊎ B) _
-P ⟨⊎⟩ Q = [ P , Q ]
+_βŸ¨Γ—βŸ©_ : Pred A ℓ₁ β†’ Pred B β„“β‚‚ β†’ Pred (A Γ— B) _
+(P βŸ¨Γ—βŸ© Q) (x , y) = x ∈ P Γ— y ∈ Q
 
--- Sum over two elements.
+-- Sum over one element.
 
-_βŸ¨βŠ™βŸ©_ : Pred A ℓ₁ β†’ Pred B β„“β‚‚ β†’ Pred (A Γ— B) _
-(P βŸ¨βŠ™βŸ© Q) (x , y) = x ∈ P ⊎ y ∈ Q
+_⟨⊎⟩_ : Pred A β„“ β†’ Pred B β„“ β†’ Pred (A ⊎ B) _
+P ⟨⊎⟩ Q = [ P , Q ]
 
--- Implication.
+-- Sum over two elements.
 
-_βŸ¨β†’βŸ©_ : Pred A ℓ₁ β†’ Pred B β„“β‚‚ β†’ Pred (A β†’ B) _
-(P βŸ¨β†’βŸ© Q) f = P βŠ† Q ∘ f
+_βŸ¨βŠ™βŸ©_ : Pred A ℓ₁ β†’ Pred B β„“β‚‚ β†’ Pred (A Γ— B) _
+(P βŸ¨βŠ™βŸ© Q) (x , y) = x ∈ P ⊎ y ∈ Q
 
--- Product.
+-- Implication.
 
-_⟨·⟩_ : (P : Pred A ℓ₁) (Q : Pred B β„“β‚‚) β†’
-        (P βŸ¨Γ—βŸ© (P βŸ¨β†’βŸ© Q)) βŠ† Q ∘ uncurry (flip _$_)
-(P ⟨·⟩ Q) (p , f) = f p
+_βŸ¨β†’βŸ©_ : Pred A ℓ₁ β†’ Pred B β„“β‚‚ β†’ Pred (A β†’ B) _
+(P βŸ¨β†’βŸ© Q) f = P βŠ† Q ∘ f
 
--- Converse.
+-- Product.
 
-_~ : Pred (A Γ— B) β„“ β†’ Pred (B Γ— A) β„“
-P ~ = P ∘ swap
+_⟨·⟩_ : (P : Pred A ℓ₁) (Q : Pred B β„“β‚‚) β†’
+        (P βŸ¨Γ—βŸ© (P βŸ¨β†’βŸ© Q)) βŠ† Q ∘ uncurry (flip _$_)
+(P ⟨·⟩ Q) (p , f) = f p
 
--- Composition.
+-- Converse.
 
-_⟨∘⟩_ : Pred (A Γ— B) ℓ₁ β†’ Pred (B Γ— C) β„“β‚‚ β†’ Pred (A Γ— C) _
-(P ⟨∘⟩ Q) (x , z) = βˆƒ Ξ» y β†’ (x , y) ∈ P Γ— (y , z) ∈ Q
+_~ : Pred (A Γ— B) β„“ β†’ Pred (B Γ— A) β„“
+P ~ = P ∘ swap
 
--- Post-division.
+-- Composition.
 
-_//_ : Pred (A Γ— C) ℓ₁ β†’ Pred (B Γ— C) β„“β‚‚ β†’ Pred (A Γ— B) _
-(P // Q) (x , y) = Q ∘ (y ,_) βŠ† P ∘ (x ,_)
+_⟨∘⟩_ : Pred (A Γ— B) ℓ₁ β†’ Pred (B Γ— C) β„“β‚‚ β†’ Pred (A Γ— C) _
+(P ⟨∘⟩ Q) (x , z) = βˆƒ Ξ» y β†’ (x , y) ∈ P Γ— (y , z) ∈ Q
 
--- Pre-division.
+-- Post-division.
 
-_\\_ : Pred (A Γ— C) ℓ₁ β†’ Pred (A Γ— B) β„“β‚‚ β†’ Pred (B Γ— C) _
-P \\ Q = (P ~ // Q ~) ~
+_//_ : Pred (A Γ— C) ℓ₁ β†’ Pred (B Γ— C) β„“β‚‚ β†’ Pred (A Γ— B) _
+(P // Q) (x , y) = Q ∘ (y ,_) βŠ† P ∘ (x ,_)
+
+-- Pre-division.
+
+_\\_ : Pred (A Γ— C) ℓ₁ β†’ Pred (A Γ— B) β„“β‚‚ β†’ Pred (B Γ— C) _
+P \\ Q = (P ~ // Q ~) ~
diff --git a/UALib/html/Relations.Continuous.md b/UALib/html/Relations.Continuous.md
index 9fbe7e76..9645c1ff 100644
--- a/UALib/html/Relations.Continuous.md
+++ b/UALib/html/Relations.Continuous.md
@@ -39,10 +39,10 @@ To define `DepRel`, the type of *dependent relations*, we exploit the full power
 
 
 
-ContRel : π“₯ Μ‡ β†’ 𝓀 Μ‡ β†’ (𝓦 : Universe) β†’ π“₯ βŠ” 𝓀 βŠ” 𝓦 ⁺ Μ‡
+ContRel : π“₯ Μ‡ β†’ 𝓀 Μ‡ β†’ (𝓦 : Universe) β†’ π“₯ βŠ” 𝓀 βŠ” 𝓦 ⁺ Μ‡
 ContRel I A 𝓦 = (I β†’ A) β†’ 𝓦 Μ‡
 
-DepRel : (I : π“₯ Μ‡) β†’ (I β†’ 𝓀 Μ‡) β†’ (𝓦 : Universe) β†’ π“₯ βŠ” 𝓀 βŠ” 𝓦 ⁺ Μ‡
+DepRel : (I : π“₯ Μ‡) β†’ (I β†’ 𝓀 Μ‡) β†’ (𝓦 : Universe) β†’ π“₯ βŠ” 𝓀 βŠ” 𝓦 ⁺ Μ‡
 DepRel I π’œ 𝓦 = Ξ  π’œ β†’ 𝓦 Μ‡
 
 
@@ -61,10 +61,10 @@ It will be helpful to have some functions that make it easy to assert that a giv module _ {I J : π“₯ Μ‡} {A : 𝓀 Μ‡} where - eval-cont-rel : ContRel I A 𝓦 β†’ (I β†’ J β†’ A) β†’ π“₯ βŠ” 𝓦 Μ‡ + eval-cont-rel : ContRel I A 𝓦 β†’ (I β†’ J β†’ A) β†’ π“₯ βŠ” 𝓦 Μ‡ eval-cont-rel R 𝒢 = Ξ  j κž‰ J , R Ξ» i β†’ 𝒢 i j - cont-compatible-op : Op J A β†’ ContRel I A 𝓦 β†’ π“₯ βŠ” 𝓀 βŠ” 𝓦 Μ‡ + cont-compatible-op : Op J A β†’ ContRel I A 𝓦 β†’ π“₯ βŠ” 𝓀 βŠ” 𝓦 Μ‡ cont-compatible-op 𝑓 R = Ξ  𝒢 κž‰ (I β†’ J β†’ A) , (eval-cont-rel R 𝒢 β†’ R Ξ» i β†’ (𝑓 (𝒢 i)))
@@ -92,14 +92,14 @@ Above we saw lifts of continuous relations and what it means for such relations module _ {I J : π“₯ Μ‡} {π’œ : I β†’ 𝓀 Μ‡} where - eval-dep-rel : DepRel I π’œ 𝓦 β†’ (βˆ€ i β†’ (J β†’ π’œ i)) β†’ π“₯ βŠ” 𝓦 Μ‡ + eval-dep-rel : DepRel I π’œ 𝓦 β†’ (βˆ€ i β†’ (J β†’ π’œ i)) β†’ π“₯ βŠ” 𝓦 Μ‡ eval-dep-rel R 𝒢 = βˆ€ j β†’ R (Ξ» i β†’ (𝒢 i) j) - dep-compatible-op : (βˆ€ i β†’ Op J (π’œ i)) β†’ DepRel I π’œ 𝓦 β†’ π“₯ βŠ” 𝓀 βŠ” 𝓦 Μ‡ + dep-compatible-op : (βˆ€ i β†’ Op J (π’œ i)) β†’ DepRel I π’œ 𝓦 β†’ π“₯ βŠ” 𝓀 βŠ” 𝓦 Μ‡ dep-compatible-op 𝑓 R = βˆ€ 𝒢 β†’ (eval-dep-rel R) 𝒢 β†’ R Ξ» i β†’ (𝑓 i)(𝒢 i) -- equivalent definition using Ξ  notation - dep-compatible'-op : (Ξ  i κž‰ I , Op J (π’œ i)) β†’ DepRel I π’œ 𝓦 β†’ π“₯ βŠ” 𝓀 βŠ” 𝓦 Μ‡ + dep-compatible'-op : (Ξ  i κž‰ I , Op J (π’œ i)) β†’ DepRel I π’œ 𝓦 β†’ π“₯ βŠ” 𝓀 βŠ” 𝓦 Μ‡ dep-compatible'-op 𝑓 R = Ξ  𝒢 κž‰ (Ξ  i κž‰ I , (J β†’ π’œ i)) , ((eval-dep-rel R) 𝒢 β†’ R Ξ» i β†’ (𝑓 i)(𝒢 i))
diff --git a/UALib/html/Relations.Discrete.md b/UALib/html/Relations.Discrete.md index 0e86baf5..23685824 100644 --- a/UALib/html/Relations.Discrete.md +++ b/UALib/html/Relations.Discrete.md @@ -27,7 +27,7 @@ Given two universes `𝓀 𝓦` and a type `A : 𝓀 Μ‡`, the type `Pred A 𝓦`
 
-Pred : 𝓀 Μ‡ β†’ (𝓦 : Universe) β†’ 𝓀 βŠ” 𝓦 ⁺ Μ‡
+Pred : 𝓀 Μ‡ β†’ (𝓦 : Universe) β†’ 𝓀 βŠ” 𝓦 ⁺ Μ‡
 Pred A 𝓦 = A β†’ 𝓦 Μ‡
 
 
@@ -50,7 +50,7 @@ The "subset" relation is denoted, as usual, with the `βŠ†` symbol.[1](Relat
 
-_βŠ†_ : {A : 𝓀 Μ‡ } β†’ Pred A 𝓦 β†’ Pred A 𝓩 β†’ 𝓀 βŠ” 𝓦 βŠ” 𝓩 Μ‡
+_βŠ†_ : {A : 𝓀 Μ‡ } β†’ Pred A 𝓦 β†’ Pred A 𝓩 β†’ 𝓀 βŠ” 𝓦 βŠ” 𝓩 Μ‡
 P βŠ† Q = βˆ€ {x} β†’ x ∈ P β†’ x ∈ Q
 
 infix 4 _βŠ†_
@@ -68,7 +68,7 @@ Here is a small collection of tools that will come in handy later. The first is
 
 infixr 1 _⊎_ _βˆͺ_
 
-data _⊎_ (A : 𝓀 Μ‡) (B : 𝓦 Μ‡) : 𝓀 βŠ” 𝓦 Μ‡ where
+data _⊎_ (A : 𝓀 Μ‡) (B : 𝓦 Μ‡) : 𝓀 βŠ” 𝓦 Μ‡ where
  inj₁ : (x : A) β†’ A ⊎ B
  injβ‚‚ : (y : B) β†’ A ⊎ B
 
@@ -78,7 +78,7 @@ And this can be used to represent *union*, as follows.
 
 
 
-_βˆͺ_ : {A : 𝓀 Μ‡} β†’ Pred A 𝓦 β†’ Pred A 𝓩 β†’ Pred A (𝓦 βŠ” 𝓩)
+_βˆͺ_ : {A : 𝓀 Μ‡} β†’ Pred A 𝓦 β†’ Pred A 𝓩 β†’ Pred A (𝓦 βŠ” 𝓩)
 P βˆͺ Q = Ξ» x β†’ x ∈ P ⊎ x ∈ Q
 
 
@@ -88,7 +88,7 @@ Next we define convenient notation for asserting that the image of a function (t
 
 
 
-Im_βŠ†_ : {A : 𝓀 Μ‡}{B : 𝓦 Μ‡} β†’ (A β†’ B) β†’ Pred B 𝓩 β†’ 𝓀 βŠ” 𝓩 Μ‡
+Im_βŠ†_ : {A : 𝓀 Μ‡}{B : 𝓦 Μ‡} β†’ (A β†’ B) β†’ Pred B 𝓩 β†’ 𝓀 βŠ” 𝓩 Μ‡
 Im f βŠ† S = βˆ€ x β†’ f x ∈ S
 
 
@@ -100,7 +100,7 @@ The *empty set* is naturally represented by the *empty type*, `𝟘`.[2](Re open import Empty-Type using (𝟘) -βˆ… : {A : 𝓀 Μ‡} β†’ Pred A 𝓀₀ +βˆ… : {A : 𝓀 Μ‡} β†’ Pred A 𝓀₀ βˆ… _ = 𝟘
@@ -111,7 +111,7 @@ Before closing our little predicates toolbox, let's insert a type that provides
 
 ο½›_} : {A : 𝓀 Μ‡} β†’ A β†’ Pred A _
-ο½› x } = x ≑_
+ο½› x } = x ≑_
 
 
@@ -127,7 +127,7 @@ A generalization of the notion of binary relation is a *relation from* `A` *to*
 
-REL : 𝓀 Μ‡ β†’ 𝓦 Μ‡ β†’ (𝓩 : Universe) β†’ 𝓀 βŠ” 𝓦 βŠ” 𝓩 ⁺ Μ‡
+REL : 𝓀 Μ‡ β†’ 𝓦 Μ‡ β†’ (𝓩 : Universe) β†’ 𝓀 βŠ” 𝓦 βŠ” 𝓩 ⁺ Μ‡
 REL A B 𝓩 = A β†’ B β†’ 𝓩 Μ‡
 
 
@@ -136,7 +136,7 @@ In the special case, where `𝓦 ≑ 𝓀` and `B ≑ A`, we have
 
-Rel : 𝓀 Μ‡ β†’ (𝓩 : Universe) β†’ 𝓀 βŠ” 𝓩 ⁺ Μ‡
+Rel : 𝓀 Μ‡ β†’ (𝓩 : Universe) β†’ 𝓀 βŠ” 𝓩 ⁺ Μ‡
 Rel A 𝓩 = REL A A 𝓩
 
 
@@ -152,16 +152,16 @@ The *kernel* of `f : A β†’ B` is defined informally by `{(x , y) ∈ A Γ— A : f module _ {A : 𝓀 Μ‡}{B : 𝓦 Μ‡} where ker : (A β†’ B) β†’ Rel A 𝓦 - ker g x y = g x ≑ g y + ker g x y = g x ≑ g y kernel : (A β†’ B) β†’ Pred (A Γ— A) 𝓦 - kernel g (x , y) = g x ≑ g y + kernel g (x , y) = g x ≑ g y - ker-sigma : (A β†’ B) β†’ 𝓀 βŠ” 𝓦 Μ‡ - ker-sigma g = Ξ£ x κž‰ A , Ξ£ y κž‰ A , g x ≑ g y + ker-sigma : (A β†’ B) β†’ 𝓀 βŠ” 𝓦 Μ‡ + ker-sigma g = Ξ£ x κž‰ A , Ξ£ y κž‰ A , g x ≑ g y - ker-sigma' : (A β†’ B) β†’ 𝓀 βŠ” 𝓦 Μ‡ - ker-sigma' g = Ξ£ (x , y) κž‰ (A Γ— A) , g x ≑ g y + ker-sigma' : (A β†’ B) β†’ 𝓀 βŠ” 𝓦 Μ‡ + ker-sigma' g = Ξ£ (x , y) κž‰ (A Γ— A) , g x ≑ g y
@@ -173,16 +173,16 @@ Similarly, the *identity relation* (which is equivalent to the kernel of an inje module _ {A : 𝓀 Μ‡ } where 𝟎 : Rel A 𝓀 - 𝟎 x y = x ≑ y + 𝟎 x y = x ≑ y 𝟎-pred : Pred (A Γ— A) 𝓀 - 𝟎-pred (x , y) = x ≑ y + 𝟎-pred (x , y) = x ≑ y 𝟎-sigma : 𝓀 Μ‡ - 𝟎-sigma = Ξ£ x κž‰ A , Ξ£ y κž‰ A , x ≑ y + 𝟎-sigma = Ξ£ x κž‰ A , Ξ£ y κž‰ A , x ≑ y 𝟎-sigma' : 𝓀 Μ‡ - 𝟎-sigma' = Ξ£ (x , y) κž‰ (A Γ— A) , x ≑ y + 𝟎-sigma' = Ξ£ (x , y) κž‰ (A Γ— A) , x ≑ y
@@ -192,7 +192,7 @@ The *total relation* over `A`, which in set theory is the full Cartesian product open import Unit-Type using (πŸ™) - 𝟏 : Rel A 𝓀₀ + 𝟏 : Rel A 𝓀₀ 𝟏 a b = πŸ™
@@ -207,7 +207,7 @@ We define the following types representing *implication* for binary relations. ( _on_ : {A : 𝓀 Μ‡}{B : 𝓦 Μ‡}{C : 𝓩 Μ‡} β†’ (B β†’ B β†’ C) β†’ (A β†’ B) β†’ (A β†’ A β†’ C) R on g = Ξ» x y β†’ R (g x) (g y) -_β‡’_ : {A : 𝓀 Μ‡}{B : 𝓦 Μ‡} β†’ REL A B 𝓧 β†’ REL A B 𝓨 β†’ 𝓀 βŠ” 𝓦 βŠ” 𝓧 βŠ” 𝓨 Μ‡ +_β‡’_ : {A : 𝓀 Μ‡}{B : 𝓦 Μ‡} β†’ REL A B 𝓧 β†’ REL A B 𝓨 β†’ 𝓀 βŠ” 𝓦 βŠ” 𝓧 βŠ” 𝓨 Μ‡ P β‡’ Q = βˆ€ {i j} β†’ P i j β†’ Q i j infixr 4 _β‡’_ @@ -218,7 +218,7 @@ The `_on_` and `_β‡’_` types combine to give a nice, general implication operati
 
-_=[_]β‡’_ : {A : 𝓀 Μ‡}{B : 𝓦 Μ‡} β†’ Rel A 𝓧 β†’ (A β†’ B) β†’ Rel B 𝓨 β†’ 𝓀 βŠ” 𝓧 βŠ” 𝓨 Μ‡
+_=[_]β‡’_ : {A : 𝓀 Μ‡}{B : 𝓦 Μ‡} β†’ Rel A 𝓧 β†’ (A β†’ B) β†’ Rel B 𝓨 β†’ 𝓀 βŠ” 𝓧 βŠ” 𝓨 Μ‡
 P =[ g ]β‡’ Q = P β‡’ (Q on g)
 
 infixr 4 _=[_]β‡’_
@@ -235,7 +235,7 @@ In the next subsection, we will define types that are useful for asserting and p
 
 
 --The type of operations
-Op : π“₯ Μ‡ β†’ 𝓀 Μ‡ β†’ 𝓀 βŠ” π“₯ Μ‡
+Op : π“₯ Μ‡ β†’ 𝓀 Μ‡ β†’ 𝓀 βŠ” π“₯ Μ‡
 Op I A = (I β†’ A) β†’ A
 
 
@@ -257,10 +257,10 @@ Here is how we implement this in the [UALib][].
 
-eval-rel : {A : 𝓀 Μ‡}{I : π“₯ Μ‡} β†’ Rel A 𝓦 β†’ Rel (I β†’ A)(π“₯ βŠ” 𝓦)
+eval-rel : {A : 𝓀 Μ‡}{I : π“₯ Μ‡} β†’ Rel A 𝓦 β†’ Rel (I β†’ A)(π“₯ βŠ” 𝓦)
 eval-rel R u v = Ξ  i κž‰ _ , R (u i) (v i)
 
-_|:_ : {A : 𝓀 Μ‡}{I : π“₯ Μ‡} β†’ Op I A β†’ Rel A 𝓦 β†’ 𝓀 βŠ” π“₯ βŠ” 𝓦 Μ‡
+_|:_ : {A : 𝓀 Μ‡}{I : π“₯ Μ‡} β†’ Op I A β†’ Rel A 𝓦 β†’ 𝓀 βŠ” π“₯ βŠ” 𝓦 Μ‡
 f |: R  = (eval-rel R) =[ f ]β‡’ R
 
 
@@ -271,7 +271,7 @@ In case it helps the reader, we note that instead of using the slick implication
 
-compatible-fun : {A : 𝓀 Μ‡}{I : π“₯ Μ‡} β†’ (f : Op I A)(R : Rel A 𝓦) β†’ 𝓀 βŠ” π“₯ βŠ” 𝓦 Μ‡
+compatible-fun : {A : 𝓀 Μ‡}{I : π“₯ Μ‡} β†’ (f : Op I A)(R : Rel A 𝓦) β†’ 𝓀 βŠ” π“₯ βŠ” 𝓦 Μ‡
 compatible-fun f R  = βˆ€ u v β†’ (eval-rel R) u v β†’ R (f u) (f v)
 
 
diff --git a/UALib/html/Relations.Extensionality.md b/UALib/html/Relations.Extensionality.md index 7b0ba076..2a551d45 100644 --- a/UALib/html/Relations.Extensionality.md +++ b/UALib/html/Relations.Extensionality.md @@ -24,8 +24,8 @@ The principle of *proposition extensionality* asserts that logically equivalent
 
-pred-ext : (𝓀 𝓦 : Universe) β†’ (𝓀 βŠ” 𝓦) ⁺ Μ‡
-pred-ext 𝓀 𝓦 = βˆ€ {A : 𝓀 Μ‡}{P Q : Pred A 𝓦 } β†’ P βŠ† Q β†’ Q βŠ† P β†’ P ≑ Q
+pred-ext : (𝓀 𝓦 : Universe) β†’ (𝓀 βŠ” 𝓦) ⁺ Μ‡
+pred-ext 𝓀 𝓦 = βˆ€ {A : 𝓀 Μ‡}{P Q : Pred A 𝓦 } β†’ P βŠ† Q β†’ Q βŠ† P β†’ P ≑ Q
 
 
@@ -39,20 +39,20 @@ We need an identity type for congruence classes (blocks) over sets so that two d
 
-module _ {𝓀 𝓦 : Universe}{A : 𝓀 Μ‡}{R : Rel A 𝓦} where
+module _ {𝓀 𝓦 : Universe}{A : 𝓀 Μ‡}{R : Rel A 𝓦} where
 
- block-ext : pred-ext 𝓀 𝓦 β†’ IsEquivalence R β†’ {u v : A} β†’ R u v β†’ [ u ]{R} ≑ [ v ]{R}
+ block-ext : pred-ext 𝓀 𝓦 β†’ IsEquivalence R β†’ {u v : A} β†’ R u v β†’ [ u ]{R} ≑ [ v ]{R}
  block-ext pe Req {u}{v} Ruv = pe (/-subset Req Ruv) (/-supset Req Ruv)
 
 
  to-subtype|uip : blk-uip A R β†’ {C D : Pred A 𝓦}{c : IsBlock C {R}}{d : IsBlock D {R}}
-  β†’               C ≑ D β†’ (C , c) ≑ (D , d)
+  β†’               C ≑ D β†’ (C , c) ≑ (D , d)
 
- to-subtype|uip buip {C}{D}{c}{d}CD = to-Ξ£-≑(CD , buip D(transport(Ξ» B β†’ IsBlock B)CD c)d)
+ to-subtype|uip buip {C}{D}{c}{d}CD = to-Ξ£-≑(CD , buip D(transport(Ξ» B β†’ IsBlock B)CD c)d)
 
 
  block-ext|uip : pred-ext 𝓀 𝓦 β†’ blk-uip A R β†’ IsEquivalence R
-  β†’              βˆ€ {u v : A}  β†’  R u v  β†’  βŸͺ u ⟫ ≑ βŸͺ v ⟫
+  β†’              βˆ€ {u v : A}  β†’  R u v  β†’  βŸͺ u ⟫ ≑ βŸͺ v ⟫
 
  block-ext|uip pe buip Req Ruv = to-subtype|uip buip (block-ext pe Req Ruv)
 
@@ -72,11 +72,11 @@ We could also define *relation extensionality* principles which generalize the p
 
 
 
-cont-rel-ext : (𝓀 π“₯ 𝓦 : Universe) β†’ (𝓀 βŠ” π“₯ βŠ” 𝓦) ⁺ Μ‡
-cont-rel-ext 𝓀 π“₯ 𝓦 = βˆ€ {I : π“₯ Μ‡}{A : 𝓀 Μ‡}{P Q : ContRel I A 𝓦 } β†’ P βŠ† Q β†’ Q βŠ† P β†’ P ≑ Q
+cont-rel-ext : (𝓀 π“₯ 𝓦 : Universe) β†’ (𝓀 βŠ” π“₯ βŠ” 𝓦) ⁺ Μ‡
+cont-rel-ext 𝓀 π“₯ 𝓦 = βˆ€ {I : π“₯ Μ‡}{A : 𝓀 Μ‡}{P Q : ContRel I A 𝓦 } β†’ P βŠ† Q β†’ Q βŠ† P β†’ P ≑ Q
 
-dep-rel-ext : (𝓀 π“₯ 𝓦 : Universe) β†’ (𝓀 βŠ” π“₯ βŠ” 𝓦) ⁺ Μ‡
-dep-rel-ext 𝓀 π“₯ 𝓦 = βˆ€ {I : π“₯ Μ‡}{π’œ : I β†’ 𝓀 Μ‡}{P Q : DepRel I π’œ 𝓦 } β†’ P βŠ† Q β†’ Q βŠ† P β†’ P ≑ Q
+dep-rel-ext : (𝓀 π“₯ 𝓦 : Universe) β†’ (𝓀 βŠ” π“₯ βŠ” 𝓦) ⁺ Μ‡
+dep-rel-ext 𝓀 π“₯ 𝓦 = βˆ€ {I : π“₯ Μ‡}{π’œ : I β†’ 𝓀 Μ‡}{P Q : DepRel I π’œ 𝓦 } β†’ P βŠ† Q β†’ Q βŠ† P β†’ P ≑ Q
 
 
diff --git a/UALib/html/Relations.Quotients.md b/UALib/html/Relations.Quotients.md index 6cbdf272..c965aa9b 100644 --- a/UALib/html/Relations.Quotients.md +++ b/UALib/html/Relations.Quotients.md @@ -28,18 +28,18 @@ Let `𝓀 : Universe` be a universe and `A : 𝓀 Μ‡` a type. In [Relations.Dis
 
-module _ {𝓀 𝓦 : Universe} where
+module _ {𝓀 𝓦 : Universe} where
 
- Refl : {A : 𝓀 Μ‡} β†’ Rel A 𝓦 β†’ 𝓀 βŠ” 𝓦 Μ‡
+ Refl : {A : 𝓀 Μ‡} β†’ Rel A 𝓦 β†’ 𝓀 βŠ” 𝓦 Μ‡
  Refl _β‰ˆ_ = βˆ€{x} β†’ x β‰ˆ x
 
- Symm : {A : 𝓀 Μ‡} β†’ Rel A 𝓦 β†’ 𝓀 βŠ” 𝓦 Μ‡
+ Symm : {A : 𝓀 Μ‡} β†’ Rel A 𝓦 β†’ 𝓀 βŠ” 𝓦 Μ‡
  Symm _β‰ˆ_ = βˆ€{x}{y} β†’ x β‰ˆ y β†’ y β‰ˆ x
 
- Antisymm : {A : 𝓀 Μ‡} β†’ Rel A 𝓦 β†’ 𝓀 βŠ” 𝓦 Μ‡
- Antisymm _β‰ˆ_ = βˆ€{x}{y} β†’ x β‰ˆ y β†’ y β‰ˆ x β†’ x ≑ y
+ Antisymm : {A : 𝓀 Μ‡} β†’ Rel A 𝓦 β†’ 𝓀 βŠ” 𝓦 Μ‡
+ Antisymm _β‰ˆ_ = βˆ€{x}{y} β†’ x β‰ˆ y β†’ y β‰ˆ x β†’ x ≑ y
 
- Trans : {A : 𝓀 Μ‡} β†’ Rel A 𝓦 β†’ 𝓀 βŠ” 𝓦 Μ‡
+ Trans : {A : 𝓀 Μ‡} β†’ Rel A 𝓦 β†’ 𝓀 βŠ” 𝓦 Μ‡
  Trans _β‰ˆ_ = βˆ€{x}{y}{z} β†’ x β‰ˆ y β†’ y β‰ˆ z β†’ x β‰ˆ z
 
 
@@ -50,7 +50,7 @@ The [Type Topology][] library defines the following *uniqueness-of-proofs* princ module hide-is-subsingleton-valued where - is-subsingleton-valued : {A : 𝓀 Μ‡} β†’ Rel A 𝓦 β†’ 𝓀 βŠ” 𝓦 Μ‡ + is-subsingleton-valued : {A : 𝓀 Μ‡} β†’ Rel A 𝓦 β†’ 𝓀 βŠ” 𝓦 Μ‡ is-subsingleton-valued _β‰ˆ_ = βˆ€ x y β†’ is-subsingleton (x β‰ˆ y) open import MGS-Quotient using (is-subsingleton-valued) public @@ -66,9 +66,9 @@ A binary relation is called a *preorder* if it is reflexive and transitive. An *
 
-module _ {𝓀 𝓦 : Universe} where
+module _ {𝓀 𝓦 : Universe} where
 
- record IsEquivalence {A : 𝓀 Μ‡}(R : Rel A 𝓦) : 𝓀 βŠ” 𝓦 Μ‡ where
+ record IsEquivalence {A : 𝓀 Μ‡}(R : Rel A 𝓦) : 𝓀 βŠ” 𝓦 Μ‡ where
   field rfl : Refl R ; sym : Symm R ; trans : Trans R
 
 
@@ -77,7 +77,7 @@ And we define the type of equivalence relations over a given type `A` as follows
 
- Equivalence : 𝓀 Μ‡ β†’ 𝓀 βŠ” 𝓦 ⁺ Μ‡
+ Equivalence : 𝓀 Μ‡ β†’ 𝓀 βŠ” 𝓦 ⁺ Μ‡
  Equivalence A = Ξ£ R κž‰ Rel A 𝓦 , IsEquivalence R
 
 
@@ -113,10 +113,10 @@ A predicate `C` over `A` is an `R`-block if and only if `C ≑ [ u ]` for some `
 
-module _ {𝓀 𝓦 : Universe} where
+module _ {𝓀 𝓦 : Universe} where
 
- IsBlock : {A : 𝓀 Μ‡}(C : Pred A 𝓦){R : Rel A 𝓦} β†’ 𝓀 βŠ” 𝓦 ⁺ Μ‡
- IsBlock {A} C {R} = Ξ£ u κž‰ A , C ≑ [ u ] {R}
+ IsBlock : {A : 𝓀 Μ‡}(C : Pred A 𝓦){R : Rel A 𝓦} β†’ 𝓀 βŠ” 𝓦 ⁺ Μ‡
+ IsBlock {A} C {R} = Ξ£ u κž‰ A , C ≑ [ u ] {R}
 
 
@@ -126,7 +126,7 @@ If `R` is an equivalence relation on `A`, then the *quotient* of `A` modulo `R`
 
- _/_ : (A : 𝓀 Μ‡ ) β†’ Rel A 𝓦 β†’ 𝓀 βŠ” (𝓦 ⁺) Μ‡
+ _/_ : (A : 𝓀 Μ‡ ) β†’ Rel A 𝓦 β†’ 𝓀 βŠ” (𝓦 ⁺) Μ‡
  A / R = Ξ£ C κž‰ Pred A 𝓦 , IsBlock C {R}
 
  infix -1 _/_
@@ -138,7 +138,7 @@ We use the following type to represent an \ab R-block with a designated represen
 
 
  βŸͺ_⟫ : {A : 𝓀 Μ‡} β†’ A β†’ {R : Rel A 𝓦} β†’ A / R
- βŸͺ a ⟫{R} = [ a ]{R} , (a  , refl)
+ βŸͺ a ⟫{R} = [ a ]{R} , (a  , refl)
 
 
@@ -147,7 +147,7 @@ Dually, the next type provides an *elimination rule*.[2](Relations.Quotient
 
  ⌞_⌟ : {A : 𝓀 Μ‡}{R : Rel A 𝓦} β†’ A / R  β†’ A
- ⌞ C , a , p ⌟ = a
+ ⌞ C , a , p ⌟ = a
 
 
@@ -157,7 +157,7 @@ It will be convenient to have the following subset inclusion lemmas on hand when
 
-module _ {𝓀 𝓦 : Universe}{A : 𝓀 Μ‡}{x y : A}{R : Rel A 𝓦} where
+module _ {𝓀 𝓦 : Universe}{A : 𝓀 Μ‡}{x y : A}{R : Rel A 𝓦} where
 
  open IsEquivalence
  /-subset : IsEquivalence R β†’ R x y β†’  [ x ]{R} βŠ†  [ y ]{R}
diff --git a/UALib/html/Relations.Truncation.md b/UALib/html/Relations.Truncation.md
index 4881d20f..0c4b0752 100644
--- a/UALib/html/Relations.Truncation.md
+++ b/UALib/html/Relations.Truncation.md
@@ -22,7 +22,7 @@ Readers who want to learn more about "proof-relevant mathematics" and other conc
 
 open import Relations.Quotients public
 
-open import MGS-MLTT using (_⇔_) public
+open import MGS-MLTT using (_⇔_) public
 
 
@@ -47,12 +47,12 @@ This notion is formalized in the [Type Topology][] library, using the `is-subsin
 
-module hide-is-set {𝓀 : Universe} where
+module hide-is-set {𝓀 : Universe} where
 
  is-set : 𝓀 Μ‡ β†’ 𝓀 Μ‡
- is-set A = (x y : A) β†’ is-subsingleton (x ≑ y)
+ is-set A = (x y : A) β†’ is-subsingleton (x ≑ y)
 
-open import MGS-Embeddings using (is-set) public
+open import MGS-Embeddings using (is-set) public
 
 
@@ -62,12 +62,12 @@ We will also need the function [to-Ξ£-≑](https://www.cs.bham.ac.uk/~mhe/HoTT-U
 
-module hide-to-Ξ£-≑ {𝓀 𝓦 : Universe}{A : 𝓀 Μ‡}{B : A β†’ 𝓦 Μ‡} where
+module hide-to-Ξ£-≑ {𝓀 𝓦 : Universe}{A : 𝓀 Μ‡}{B : A β†’ 𝓦 Μ‡} where
 
- to-Ξ£-≑ : {Οƒ Ο„ : Ξ£ B} β†’ Ξ£ p κž‰ ∣ Οƒ ∣ ≑ ∣ Ο„ ∣ , (transport B p βˆ₯ Οƒ βˆ₯) ≑ βˆ₯ Ο„ βˆ₯ β†’ Οƒ ≑ Ο„
- to-Ξ£-≑ (refl {x = x} , refl {x = a}) = refl {x = (x , a)}
+ to-Ξ£-≑ : {Οƒ Ο„ : Ξ£ B} β†’ Ξ£ p κž‰ ∣ Οƒ ∣ ≑ ∣ Ο„ ∣ , (transport B p βˆ₯ Οƒ βˆ₯) ≑ βˆ₯ Ο„ βˆ₯ β†’ Οƒ ≑ Ο„
+ to-Ξ£-≑ (refl {x = x} , refl {x = a}) = refl {x = (x , a)}
 
-open import MGS-Embeddings using (to-Ξ£-≑) public
+open import MGS-Embeddings using (to-Ξ£-≑) public
 
 
@@ -80,23 +80,23 @@ Before moving on to define [propositions](Overture.Truncation.html#propositions)
 
-module _ {𝓀 𝓦 : Universe}{A : 𝓀 Μ‡}{B : 𝓦 Μ‡} where
+module _ {𝓀 𝓦 : Universe}{A : 𝓀 Μ‡}{B : 𝓦 Μ‡} where
 
- monic-is-embedding|Set : (f : A β†’ B) β†’ is-set B β†’ Monic f β†’ is-embedding f
+ monic-is-embedding|Set : (f : A β†’ B) β†’ is-set B β†’ Monic f β†’ is-embedding f
 
- monic-is-embedding|Set f Bset fmon b (u , fu≑b) (v , fv≑b) = Ξ³
+ monic-is-embedding|Set f Bset fmon b (u , fu≑b) (v , fv≑b) = Ξ³
   where
-  fuv : f u ≑ f v
+  fuv : f u ≑ f v
   fuv = ≑-trans fu≑b (fv≑b ⁻¹)
 
-  uv : u ≑ v
+  uv : u ≑ v
   uv = fmon u v fuv
 
-  arg1 : Ξ£ p κž‰ (u ≑ v) , (transport (Ξ» a β†’ f a ≑ b) p fu≑b) ≑ fv≑b
-  arg1 = uv , Bset (f v) b (transport (Ξ» a β†’ f a ≑ b) uv fu≑b) fv≑b
+  arg1 : Ξ£ p κž‰ (u ≑ v) , (transport (Ξ» a β†’ f a ≑ b) p fu≑b) ≑ fv≑b
+  arg1 = uv , Bset (f v) b (transport (Ξ» a β†’ f a ≑ b) uv fu≑b) fv≑b
 
-  Ξ³ : u , fu≑b ≑ v , fv≑b
-  Ξ³ = to-Ξ£-≑ arg1
+  Ξ³ : u , fu≑b ≑ v , fv≑b
+  Ξ³ = to-Ξ£-≑ arg1
 
 
@@ -106,8 +106,8 @@ Embeddings are always monic, so we conclude that when a function's codomain is a
 
- embedding-iff-monic|Set : (f : A β†’ B) β†’ is-set B β†’ is-embedding f ⇔ Monic f
- embedding-iff-monic|Set f Bset = (embedding-is-monic f), (monic-is-embedding|Set f Bset)
+ embedding-iff-monic|Set : (f : A β†’ B) β†’ is-set B β†’ is-embedding f ⇔ Monic f
+ embedding-iff-monic|Set f Bset = (embedding-is-monic f), (monic-is-embedding|Set f Bset)
 
 
@@ -125,7 +125,7 @@ In the next module ([Relations.Extensionality][]) we will define a *quotient ext
 
-blk-uip : {𝓦 𝓀 : Universe}(A : 𝓀 Μ‡)(R : Rel A 𝓦 ) β†’ 𝓀 βŠ” 𝓦 ⁺ Μ‡
+blk-uip : {𝓦 𝓀 : Universe}(A : 𝓀 Μ‡)(R : Rel A 𝓦 ) β†’ 𝓀 βŠ” 𝓦 ⁺ Μ‡
 blk-uip {𝓦} A R = βˆ€ (C : Pred A 𝓦) β†’ is-subsingleton (IsBlock C {R})
 
 
@@ -142,27 +142,27 @@ Naturally, we define the corresponding *truncated continuous relation type* and
 
-module _ {𝓀 : Universe}{I : π“₯ Μ‡} where
+module _ {𝓀 : Universe}{I : π“₯ Μ‡} where
 
  open import Relations.Continuous using (ContRel; DepRel)
 
- IsContProp : {A : 𝓀 Μ‡}{𝓦 : Universe} β†’ ContRel I A 𝓦  β†’ π“₯ βŠ” 𝓀 βŠ” 𝓦 Μ‡
+ IsContProp : {A : 𝓀 Μ‡}{𝓦 : Universe} β†’ ContRel I A 𝓦  β†’ π“₯ βŠ” 𝓀 βŠ” 𝓦 Μ‡
  IsContProp {A = A} P = Ξ  π‘Ž κž‰ (I β†’ A) , is-subsingleton (P π‘Ž)
 
- ContProp : 𝓀 Μ‡ β†’ (𝓦 : Universe) β†’ 𝓀 βŠ” π“₯ βŠ” 𝓦 ⁺ Μ‡
+ ContProp : 𝓀 Μ‡ β†’ (𝓦 : Universe) β†’ 𝓀 βŠ” π“₯ βŠ” 𝓦 ⁺ Μ‡
  ContProp A 𝓦 = Ξ£ P κž‰ (ContRel I A 𝓦) , IsContProp P
 
- cont-prop-ext : 𝓀 Μ‡ β†’ (𝓦 : Universe) β†’ 𝓀 βŠ” π“₯ βŠ” 𝓦 ⁺ Μ‡
- cont-prop-ext A 𝓦 = {P Q : ContProp A 𝓦 } β†’ ∣ P ∣ βŠ† ∣ Q ∣ β†’ ∣ Q ∣ βŠ† ∣ P ∣ β†’ P ≑ Q
+ cont-prop-ext : 𝓀 Μ‡ β†’ (𝓦 : Universe) β†’ 𝓀 βŠ” π“₯ βŠ” 𝓦 ⁺ Μ‡
+ cont-prop-ext A 𝓦 = {P Q : ContProp A 𝓦 } β†’ ∣ P ∣ βŠ† ∣ Q ∣ β†’ ∣ Q ∣ βŠ† ∣ P ∣ β†’ P ≑ Q
 
- IsDepProp : {I : π“₯ Μ‡}{π’œ : I β†’ 𝓀 Μ‡}{𝓦 : Universe} β†’ DepRel I π’œ 𝓦  β†’ π“₯ βŠ” 𝓀 βŠ” 𝓦 Μ‡
+ IsDepProp : {I : π“₯ Μ‡}{π’œ : I β†’ 𝓀 Μ‡}{𝓦 : Universe} β†’ DepRel I π’œ 𝓦  β†’ π“₯ βŠ” 𝓀 βŠ” 𝓦 Μ‡
  IsDepProp {I = I} {π’œ} P = Ξ  π‘Ž κž‰ Ξ  π’œ , is-subsingleton (P π‘Ž)
 
- DepProp : (I β†’ 𝓀 Μ‡) β†’ (𝓦 : Universe) β†’ 𝓀 βŠ” π“₯ βŠ” 𝓦 ⁺ Μ‡
+ DepProp : (I β†’ 𝓀 Μ‡) β†’ (𝓦 : Universe) β†’ 𝓀 βŠ” π“₯ βŠ” 𝓦 ⁺ Μ‡
  DepProp π’œ 𝓦 = Ξ£ P κž‰ (DepRel I π’œ 𝓦) , IsDepProp P
 
- dep-prop-ext : (I β†’ 𝓀 Μ‡) β†’ (𝓦 : Universe) β†’ 𝓀 βŠ” π“₯ βŠ” 𝓦 ⁺ Μ‡
- dep-prop-ext π’œ 𝓦 = {P Q : DepProp π’œ 𝓦} β†’ ∣ P ∣ βŠ† ∣ Q ∣ β†’ ∣ Q ∣ βŠ† ∣ P ∣ β†’ P ≑ Q
+ dep-prop-ext : (I β†’ 𝓀 Μ‡) β†’ (𝓦 : Universe) β†’ 𝓀 βŠ” π“₯ βŠ” 𝓦 ⁺ Μ‡
+ dep-prop-ext π’œ 𝓦 = {P Q : DepProp π’œ 𝓦} β†’ ∣ P ∣ βŠ† ∣ Q ∣ β†’ ∣ Q ∣ βŠ† ∣ P ∣ β†’ P ≑ Q
 
 
diff --git a/UALib/html/Strict.html b/UALib/html/Strict.html index c2bda9fe..677eeeeb 100644 --- a/UALib/html/Strict.html +++ b/UALib/html/Strict.html @@ -12,11 +12,11 @@ open import Agda.Builtin.Equality open import Agda.Builtin.Strict - renaming ( primForce to force - ; primForceLemma to force-≑) public + renaming ( primForce to force + ; primForceLemma to force-≑) public -- Derived combinators -module _ {β„“ β„“β€² : Level} {A : Set β„“} {B : Set β„“β€²} where +module _ {β„“ β„“β€² : Level} {A : Set β„“} {B : Set β„“β€²} where forceβ€² : A β†’ (A β†’ B) β†’ B forceβ€² = force diff --git a/UALib/html/Subalgebras.Subalgebras.md b/UALib/html/Subalgebras.Subalgebras.md index 14ac778a..cd74fef0 100644 --- a/UALib/html/Subalgebras.Subalgebras.md +++ b/UALib/html/Subalgebras.Subalgebras.md @@ -29,10 +29,10 @@ Given algebras `𝑨 : Algebra 𝓀 𝑆` and `𝑩 : Algebra 𝓦 𝑆`, we say
 
-_IsSubalgebraOf_ : {𝓦 𝓀 : Universe}(𝑩 : Algebra 𝓦 𝑆)(𝑨 : Algebra 𝓀 𝑆) β†’ π“ž βŠ” π“₯ βŠ” 𝓀 βŠ” 𝓦 Μ‡
+_IsSubalgebraOf_ : {𝓦 𝓀 : Universe}(𝑩 : Algebra 𝓦 𝑆)(𝑨 : Algebra 𝓀 𝑆) β†’ π“ž βŠ” π“₯ βŠ” 𝓀 βŠ” 𝓦 Μ‡
 𝑩 IsSubalgebraOf 𝑨 = Ξ£ h κž‰ hom 𝑩 𝑨 , is-embedding ∣ h ∣
 
-Subalgebra : {𝓦 𝓀 : Universe} β†’ Algebra 𝓀 𝑆 β†’ ov 𝓦 βŠ” 𝓀 Μ‡
+Subalgebra : {𝓦 𝓀 : Universe} β†’ Algebra 𝓀 𝑆 β†’ ov 𝓦 βŠ” 𝓀 Μ‡
 Subalgebra {𝓦} 𝑨 = Ξ£ 𝑩 κž‰ (Algebra 𝓦 𝑆) , 𝑩 IsSubalgebraOf 𝑨
 
 
@@ -50,17 +50,17 @@ We take this opportunity to prove an important lemma that makes use of the `IsSu -- open Congruence -module _ {𝓀 𝓦 : Universe}(𝑨 : Algebra 𝓀 𝑆)(𝑩 : Algebra 𝓦 𝑆)(h : hom 𝑨 𝑩) +module _ {𝓀 𝓦 : Universe}(𝑨 : Algebra 𝓀 𝑆)(𝑩 : Algebra 𝓦 𝑆)(h : hom 𝑨 𝑩) -- extensionality assumptions: - (pe : pred-ext 𝓀 𝓦)(fe : dfunext π“₯ 𝓦) + (pe : pred-ext 𝓀 𝓦)(fe : dfunext π“₯ 𝓦) -- truncation assumptions: - (Bset : is-set ∣ 𝑩 ∣) + (Bset : is-set ∣ 𝑩 ∣) (buip : blk-uip ∣ 𝑨 ∣ ∣ kercon 𝑩 {fe} h ∣) where FirstHomCorollary|Set : (𝑨 [ 𝑩 ]/ker h β†Ύ fe) IsSubalgebraOf 𝑩 - FirstHomCorollary|Set = Ο•hom , Ο•emb + FirstHomCorollary|Set = Ο•hom , Ο•emb where hh = FirstHomTheorem|Set 𝑨 𝑩 h pe fe Bset buip Ο•hom : hom (𝑨 [ 𝑩 ]/ker h β†Ύ fe) 𝑩 @@ -75,12 +75,12 @@ If we apply the foregoing theorem to the special case in which the `𝑨` is ter
 
-module _ {𝓀 𝓦 𝓧 : Universe}(X : 𝓧 Μ‡)(𝑩 : Algebra 𝓦 𝑆)(h : hom (𝑻 X) 𝑩)
+module _ {𝓀 𝓦 𝓧 : Universe}(X : 𝓧 Μ‡)(𝑩 : Algebra 𝓦 𝑆)(h : hom (𝑻 X) 𝑩)
         -- extensionality assumptions:
-         (pe : pred-ext (ov 𝓧) 𝓦)(fe : dfunext π“₯ 𝓦)
+         (pe : pred-ext (ov 𝓧) 𝓦)(fe : dfunext π“₯ 𝓦)
 
          -- truncation assumptions:
-         (Bset : is-set ∣ 𝑩 ∣)
+         (Bset : is-set ∣ 𝑩 ∣)
          (buip : blk-uip (Term X) ∣ kercon 𝑩 {fe} h ∣)
          where
 
@@ -93,7 +93,7 @@ If we apply the foregoing theorem to the special case in which the `𝑨` is ter
 
 
 
-_≀_ : {𝓦 𝓀 : Universe} β†’ Algebra 𝓦 𝑆 β†’ Algebra 𝓀 𝑆 β†’ π“ž βŠ” π“₯ βŠ” 𝓀 βŠ” 𝓦 Μ‡
+_≀_ : {𝓦 𝓀 : Universe} β†’ Algebra 𝓦 𝑆 β†’ Algebra 𝓀 𝑆 β†’ π“ž βŠ” π“₯ βŠ” 𝓀 βŠ” 𝓦 Μ‡
 𝑩 ≀ 𝑨 = 𝑩 IsSubalgebraOf 𝑨
 
 
@@ -109,9 +109,9 @@ Suppose `𝒦 : Pred (Algebra 𝓀 𝑆) 𝓩` denotes a class of `𝑆`-algebra
 
-module _ {𝓦 𝓀 𝓩 : Universe} where
+module _ {𝓦 𝓀 𝓩 : Universe} where
 
- _IsSubalgebraOfClass_ : Algebra 𝓦 𝑆 β†’ Pred (Algebra 𝓀 𝑆) 𝓩 β†’ ov (𝓀 βŠ” 𝓦) βŠ” 𝓩 Μ‡
+ _IsSubalgebraOfClass_ : Algebra 𝓦 𝑆 β†’ Pred (Algebra 𝓀 𝑆) 𝓩 β†’ ov (𝓀 βŠ” 𝓦) βŠ” 𝓩 Μ‡
  𝑩 IsSubalgebraOfClass 𝒦 = Ξ£ 𝑨 κž‰ Algebra 𝓀 𝑆 , Ξ£ sa κž‰ Subalgebra{𝓦} 𝑨 , (𝑨 ∈ 𝒦) Γ— (𝑩 β‰… ∣ sa ∣)
 
 
@@ -120,7 +120,7 @@ Using this type, we express the collection of all subalgebras of algebras in a c
 
-SubalgebraOfClass : {𝓦 𝓀 : Universe} β†’ Pred (Algebra 𝓀 𝑆)(ov 𝓀) β†’ ov (𝓀 βŠ” 𝓦) Μ‡
+SubalgebraOfClass : {𝓦 𝓀 : Universe} β†’ Pred (Algebra 𝓀 𝑆)(ov 𝓀) β†’ ov (𝓀 βŠ” 𝓦) Μ‡
 SubalgebraOfClass {𝓦} 𝒦 = Ξ£ 𝑩 κž‰ Algebra 𝓦 𝑆 , 𝑩 IsSubalgebraOfClass 𝒦
 
 
@@ -137,7 +137,7 @@ First we show that the subalgebra relation is a *preorder*; i.e., it is a reflex
 
 ≀-reflexive : (𝑨 : Algebra 𝓀 𝑆) β†’ 𝑨 ≀ 𝑨
-≀-reflexive 𝑨 = (𝑖𝑑 ∣ 𝑨 ∣ , Ξ» 𝑓 π‘Ž β†’ refl) , id-is-embedding
+≀-reflexive 𝑨 = (𝑖𝑑 ∣ 𝑨 ∣ , Ξ» 𝑓 π‘Ž β†’ refl) , id-is-embedding
 
 ≀-refl : {𝑨 : Algebra 𝓀 𝑆} β†’ 𝑨 ≀ 𝑨
 ≀-refl {𝑨 = 𝑨} = ≀-reflexive 𝑨
@@ -146,7 +146,7 @@ First we show that the subalgebra relation is a *preorder*; i.e., it is a reflex
 ≀-transitivity : (𝑨 : Algebra 𝓧 𝑆)(𝑩 : Algebra 𝓨 𝑆)(π‘ͺ : Algebra 𝓩 𝑆)
  β†’               π‘ͺ ≀ 𝑩 β†’ 𝑩 ≀ 𝑨 β†’ π‘ͺ ≀ 𝑨
 
-≀-transitivity 𝑨 𝑩 π‘ͺ CB BA = (∘-hom π‘ͺ 𝑨 ∣ CB ∣ ∣ BA ∣) , ∘-embedding βˆ₯ BA βˆ₯ βˆ₯ CB βˆ₯
+≀-transitivity 𝑨 𝑩 π‘ͺ CB BA = (∘-hom π‘ͺ 𝑨 ∣ CB ∣ ∣ BA ∣) , ∘-embedding βˆ₯ BA βˆ₯ βˆ₯ CB βˆ₯
 
 ≀-trans : (𝑨 : Algebra 𝓧 𝑆){𝑩 : Algebra 𝓨 𝑆}{π‘ͺ : Algebra 𝓩 𝑆} β†’ π‘ͺ ≀ 𝑩 β†’ 𝑩 ≀ 𝑨 β†’ π‘ͺ ≀ 𝑨
 ≀-trans 𝑨 {𝑩}{π‘ͺ} = ≀-transitivity 𝑨 𝑩 π‘ͺ
@@ -160,7 +160,7 @@ Next we prove that if two algebras are isomorphic and one of them is a subalgebr
 ≀-iso : (𝑨 : Algebra 𝓧 𝑆){𝑩 : Algebra 𝓨 𝑆}{π‘ͺ : Algebra 𝓩 𝑆}
  β†’      π‘ͺ β‰… 𝑩 β†’ 𝑩 ≀ 𝑨 β†’ π‘ͺ ≀ 𝑨
 
-≀-iso 𝑨 {𝑩} {π‘ͺ} CB BA = (g ∘ f , gfhom) , gfemb
+≀-iso 𝑨 {𝑩} {π‘ͺ} CB BA = (g ∘ f , gfhom) , gfemb
  where
   f : ∣ π‘ͺ ∣ β†’ ∣ 𝑩 ∣
   f = fst ∣ CB ∣
@@ -183,13 +183,13 @@ Next we prove that if two algebras are isomorphic and one of them is a subalgebr
 ≀-TRANS-β‰… : (𝑨 : Algebra 𝓧 𝑆){𝑩 : Algebra 𝓨 𝑆}(π‘ͺ : Algebra 𝓩 𝑆)
  β†’          𝑨 ≀ 𝑩 β†’ 𝑩 β‰… π‘ͺ β†’ 𝑨 ≀ π‘ͺ
 
-≀-TRANS-β‰… 𝑨 π‘ͺ A≀B Bβ‰…C = (∘-hom 𝑨 π‘ͺ ∣ A≀B ∣ ∣ Bβ‰…C ∣) , ∘-embedding (isoβ†’embedding Bβ‰…C)(βˆ₯ A≀B βˆ₯)
+≀-TRANS-β‰… 𝑨 π‘ͺ A≀B Bβ‰…C = (∘-hom 𝑨 π‘ͺ ∣ A≀B ∣ ∣ Bβ‰…C ∣) , ∘-embedding (isoβ†’embedding Bβ‰…C)(βˆ₯ A≀B βˆ₯)
 
 
 ≀-mono : (𝑩 : Algebra 𝓦 𝑆){𝒦 𝒦' : Pred (Algebra 𝓀 𝑆) 𝓩}
  β†’       𝒦 βŠ† 𝒦' β†’ 𝑩 IsSubalgebraOfClass 𝒦 β†’ 𝑩 IsSubalgebraOfClass 𝒦'
 
-≀-mono 𝑩 KK' KB = ∣ KB ∣ , fst βˆ₯ KB βˆ₯ , KK' (∣ snd βˆ₯ KB βˆ₯ ∣) , βˆ₯ (snd βˆ₯ KB βˆ₯) βˆ₯
+≀-mono 𝑩 KK' KB = ∣ KB ∣ , fst βˆ₯ KB βˆ₯ , KK' (∣ snd βˆ₯ KB βˆ₯ ∣) , βˆ₯ (snd βˆ₯ KB βˆ₯) βˆ₯
 
 
@@ -202,17 +202,17 @@ Next we prove that if two algebras are isomorphic and one of them is a subalgebr module _ {𝒦 : Pred (Algebra 𝓀 𝑆)(ov 𝓀)}{𝑩 : Algebra 𝓀 𝑆} where Lift-is-sub : 𝑩 IsSubalgebraOfClass 𝒦 β†’ (Lift-alg 𝑩 𝓀) IsSubalgebraOfClass 𝒦 - Lift-is-sub (𝑨 , (sa , (KA , Bβ‰…sa))) = 𝑨 , sa , KA , β‰…-trans (β‰…-sym Lift-β‰…) Bβ‰…sa + Lift-is-sub (𝑨 , (sa , (KA , Bβ‰…sa))) = 𝑨 , sa , KA , β‰…-trans (β‰…-sym Lift-β‰…) Bβ‰…sa -Lift-≀ : (𝑨 : Algebra 𝓧 𝑆){𝑩 : Algebra 𝓨 𝑆}{𝓩 : Universe} β†’ 𝑩 ≀ 𝑨 β†’ Lift-alg 𝑩 𝓩 ≀ 𝑨 +Lift-≀ : (𝑨 : Algebra 𝓧 𝑆){𝑩 : Algebra 𝓨 𝑆}{𝓩 : Universe} β†’ 𝑩 ≀ 𝑨 β†’ Lift-alg 𝑩 𝓩 ≀ 𝑨 Lift-≀ 𝑨 B≀A = ≀-iso 𝑨 (β‰…-sym Lift-β‰…) B≀A -≀-Lift : (𝑨 : Algebra 𝓧 𝑆){𝓩 : Universe}{𝑩 : Algebra 𝓨 𝑆} β†’ 𝑩 ≀ 𝑨 β†’ 𝑩 ≀ Lift-alg 𝑨 𝓩 +≀-Lift : (𝑨 : Algebra 𝓧 𝑆){𝓩 : Universe}{𝑩 : Algebra 𝓨 𝑆} β†’ 𝑩 ≀ 𝑨 β†’ 𝑩 ≀ Lift-alg 𝑨 𝓩 ≀-Lift 𝑨 {𝓩} {𝑩} B≀A = ≀-TRANS-β‰… 𝑩 {𝑨} (Lift-alg 𝑨 𝓩) B≀A Lift-β‰… -module _ {𝓧 𝓨 𝓩 𝓦 : Universe} where +module _ {𝓧 𝓨 𝓩 𝓦 : Universe} where Lift-≀-Lift : {𝑨 : Algebra 𝓧 𝑆}(𝑩 : Algebra 𝓨 𝑆) β†’ 𝑨 ≀ 𝑩 β†’ Lift-alg 𝑨 𝓩 ≀ Lift-alg 𝑩 𝓦 Lift-≀-Lift {𝑨} 𝑩 A≀B = ≀-trans (Lift-alg 𝑩 𝓦) (≀-trans 𝑩 lAA A≀B) B≀lB diff --git a/UALib/html/Subalgebras.Subuniverses.md b/UALib/html/Subalgebras.Subuniverses.md index 9c2ec694..7635710e 100644 --- a/UALib/html/Subalgebras.Subuniverses.md +++ b/UALib/html/Subalgebras.Subuniverses.md @@ -20,7 +20,7 @@ We start by defining a type that represents the important concept of **subuniver module Subalgebras.Subuniverses {𝑆 : Signature π“ž π“₯} where open import Terms.Operations{𝑆 = 𝑆} public -open import Relation.Unary using (β‹‚) public +open import Relation.Unary using (β‹‚) public
@@ -28,9 +28,9 @@ We first show how to represent in [Agda][] the collection of subuniverses of an
 
-module _ {𝓀 𝓦 : Universe} where
+module _ {𝓀 𝓦 : Universe} where
 
- Subuniverses : (𝑨 : Algebra 𝓀 𝑆) β†’ Pred (Pred ∣ 𝑨 ∣ 𝓦)(π“ž βŠ” π“₯ βŠ” 𝓀 βŠ” 𝓦)
+ Subuniverses : (𝑨 : Algebra 𝓀 𝑆) β†’ Pred (Pred ∣ 𝑨 ∣ 𝓦)(π“ž βŠ” π“₯ βŠ” 𝓀 βŠ” 𝓦)
  Subuniverses 𝑨 B = (𝑓 : ∣ 𝑆 ∣)(π‘Ž : βˆ₯ 𝑆 βˆ₯ 𝑓 β†’ ∣ 𝑨 ∣) β†’ Im π‘Ž βŠ† B β†’ (𝑓 Μ‚ 𝑨) π‘Ž ∈ B
 
 
@@ -39,8 +39,8 @@ Here's one way to construct an algebra out of a subuniverse.
 
- SubunivAlg : (𝑨 : Algebra 𝓀 𝑆)(B : Pred ∣ 𝑨 ∣ 𝓦) β†’ B ∈ Subuniverses 𝑨 β†’ Algebra (𝓀 βŠ” 𝓦) 𝑆
- SubunivAlg 𝑨 B B∈SubA = Ξ£ B , Ξ» 𝑓 𝑏 β†’ (𝑓 Μ‚ 𝑨)(fst ∘ 𝑏) , B∈SubA 𝑓 (fst ∘ 𝑏)(snd ∘ 𝑏)
+ SubunivAlg : (𝑨 : Algebra 𝓀 𝑆)(B : Pred ∣ 𝑨 ∣ 𝓦) β†’ B ∈ Subuniverses 𝑨 β†’ Algebra (𝓀 βŠ” 𝓦) 𝑆
+ SubunivAlg 𝑨 B B∈SubA = Ξ£ B , Ξ» 𝑓 𝑏 β†’ (𝑓 Μ‚ 𝑨)(fst ∘ 𝑏) , B∈SubA 𝑓 (fst ∘ 𝑏)(snd ∘ 𝑏)
 
 
@@ -52,7 +52,7 @@ Next we define a type to represent a single subuniverse of an algebra. If `𝑨`
 
- record Subuniverse {𝑨 : Algebra 𝓀 𝑆} : ov (𝓀 βŠ” 𝓦) Μ‡ where
+ record Subuniverse {𝑨 : Algebra 𝓀 𝑆} : ov (𝓀 βŠ” 𝓦) Μ‡ where
   constructor mksub
   field
     sset  : Pred ∣ 𝑨 ∣ 𝓦
@@ -71,7 +71,7 @@ We define an inductive type, denoted by `Sg`, that represents the subuniverse ge
 
 
 
- data Sg (𝑨 : Algebra 𝓀 𝑆)(X : Pred ∣ 𝑨 ∣ 𝓦) : Pred ∣ 𝑨 ∣ (π“ž βŠ” π“₯ βŠ” 𝓦 βŠ” 𝓀) where
+ data Sg (𝑨 : Algebra 𝓀 𝑆)(X : Pred ∣ 𝑨 ∣ 𝓦) : Pred ∣ 𝑨 ∣ (π“ž βŠ” π“₯ βŠ” 𝓦 βŠ” 𝓀) where
   var : βˆ€ {v} β†’ v ∈ X β†’ v ∈ Sg 𝑨 X
   app : (𝑓 : ∣ 𝑆 ∣)(π‘Ž : βˆ₯ 𝑆 βˆ₯ 𝑓 β†’ ∣ 𝑨 ∣) β†’ Im π‘Ž βŠ† Sg 𝑨 X β†’ (𝑓 Μ‚ 𝑨) π‘Ž ∈ Sg 𝑨 X
 
@@ -81,7 +81,7 @@ Given an arbitrary subset `X` of the domain `∣ 𝑨 ∣` of an `𝑆`-algebra
 
 
 
-module _ {𝓀 𝓦 : Universe} where
+module _ {𝓀 𝓦 : Universe} where
 
  sgIsSub : {𝑨 : Algebra 𝓀 𝑆}{X : Pred ∣ 𝑨 ∣ 𝓦} β†’ Sg 𝑨 X ∈ Subuniverses 𝑨
  sgIsSub = app
@@ -92,7 +92,7 @@ Next we prove by structural induction that `Sg X` is the smallest subuniverse of
 
 
 
- sgIsSmallest : {𝓑 : Universe}(𝑨 : Algebra 𝓀 𝑆){X : Pred ∣ 𝑨 ∣ 𝓦}(Y : Pred ∣ 𝑨 ∣ 𝓑)
+ sgIsSmallest : {𝓑 : Universe}(𝑨 : Algebra 𝓀 𝑆){X : Pred ∣ 𝑨 ∣ 𝓦}(Y : Pred ∣ 𝑨 ∣ 𝓑)
   β†’             Y ∈ Subuniverses 𝑨  β†’  X βŠ† Y  β†’  Sg 𝑨 X βŠ† Y
 
  sgIsSmallest _ _ _ XinY (var Xv) = XinY Xv
@@ -117,12 +117,12 @@ Here we formalize a few basic properties of subuniverses. First, the intersectio
 
 
 
-module _ {π“˜ 𝓀 𝓦 : Universe} where
+module _ {π“˜ 𝓀 𝓦 : Universe} where
 
  sub-intersection : {𝑨 : Algebra 𝓀 𝑆}{I : π“˜ Μ‡}{π’œ : I β†’ Pred ∣ 𝑨 ∣ 𝓦}
   β†’                 Ξ  i κž‰ I , π’œ i ∈ Subuniverses 𝑨
                     ----------------------------------
-  β†’                 β‹‚ I π’œ ∈ Subuniverses 𝑨
+  β†’                 β‹‚ I π’œ ∈ Subuniverses 𝑨
 
  sub-intersection Ξ± 𝑓 π‘Ž Ξ² = Ξ» i β†’ Ξ± i 𝑓 π‘Ž (Ξ» x β†’ Ξ² x i)
 
@@ -142,9 +142,9 @@ Next, subuniverses are closed under the action of term operations.
 
 
 
-module _ {𝓀 𝓦 : Universe} where
+module _ {𝓀 𝓦 : Universe} where
 
- sub-term-closed : {𝓧 : Universe}{X : 𝓧 Μ‡}(𝑨 : Algebra 𝓀 𝑆){B : Pred ∣ 𝑨 ∣ 𝓦}
+ sub-term-closed : {𝓧 : Universe}{X : 𝓧 Μ‡}(𝑨 : Algebra 𝓀 𝑆){B : Pred ∣ 𝑨 ∣ 𝓦}
   β†’                (B ∈ Subuniverses 𝑨) β†’ (t : Term X)(b : X β†’ ∣ 𝑨 ∣)
   β†’                Ξ  x κž‰ X , (b x ∈ B)  β†’  (t Μ‡ 𝑨) b ∈ B
 
@@ -170,7 +170,7 @@ Alternatively, we could express the preceeding fact using an inductive type repr
 
 
 
- data TermImage (𝑨 : Algebra 𝓀 𝑆)(Y : Pred ∣ 𝑨 ∣ 𝓦) : Pred ∣ 𝑨 ∣ (π“ž βŠ” π“₯ βŠ” 𝓀 βŠ” 𝓦)
+ data TermImage (𝑨 : Algebra 𝓀 𝑆)(Y : Pred ∣ 𝑨 ∣ 𝓦) : Pred ∣ 𝑨 ∣ (π“ž βŠ” π“₯ βŠ” 𝓀 βŠ” 𝓦)
   where
   var : βˆ€ {y : ∣ 𝑨 ∣} β†’ y ∈ Y β†’ y ∈ TermImage 𝑨 Y
   app : βˆ€ 𝑓 𝑑 β†’  Ξ  x κž‰ βˆ₯ 𝑆 βˆ₯ 𝑓 , 𝑑 x ∈ TermImage 𝑨 Y  β†’ (𝑓 Μ‚ 𝑨) 𝑑 ∈ TermImage 𝑨 Y
@@ -206,7 +206,7 @@ Now that we have developed the machinery of subuniverse generation, we can prove
 
 
 
- hom-image-is-sub : dfunext π“₯ 𝓦 β†’ {𝑨 : Algebra 𝓀 𝑆}{𝑩 : Algebra 𝓦 𝑆}
+ hom-image-is-sub : dfunext π“₯ 𝓦 β†’ {𝑨 : Algebra 𝓀 𝑆}{𝑩 : Algebra 𝓦 𝑆}
                     (Ο• : hom 𝑨 𝑩) β†’ (HomImage 𝑩 Ο•) ∈ Subuniverses 𝑩
 
  hom-image-is-sub fe {𝑨}{𝑩} Ο• 𝑓 b Imfb = eq ((𝑓 Μ‚ 𝑩) b) ((𝑓 Μ‚ 𝑨) ar) Ξ³
@@ -214,10 +214,10 @@ Now that we have developed the machinery of subuniverse generation, we can prove
   ar : βˆ₯ 𝑆 βˆ₯ 𝑓 β†’ ∣ 𝑨 ∣
   ar = Ξ» x β†’ Inv ∣ Ο• ∣ (Imfb x)
 
-  ΞΆ : ∣ Ο• ∣ ∘ ar ≑ b
+  ΞΆ : ∣ Ο• ∣ ∘ ar ≑ b
   ΞΆ = fe (Ξ» x β†’ InvIsInv ∣ Ο• ∣ (Imfb x))
 
-  Ξ³ : (𝑓 Μ‚ 𝑩) b ≑ ∣ Ο• ∣ ((𝑓 Μ‚ 𝑨) ar)
+  Ξ³ : (𝑓 Μ‚ 𝑩) b ≑ ∣ Ο• ∣ ((𝑓 Μ‚ 𝑨) ar)
   Ξ³ = (𝑓 Μ‚ 𝑩) b            β‰‘βŸ¨ ap (𝑓 Μ‚ 𝑩)(ΞΆ ⁻¹) ⟩
       (𝑓 Μ‚ 𝑩) (∣ Ο• ∣ ∘ ar) β‰‘βŸ¨(βˆ₯ Ο• βˆ₯ 𝑓 ar)⁻¹ ⟩
       ∣ Ο• ∣ ((𝑓 Μ‚ 𝑨) ar)   ∎
@@ -231,9 +231,9 @@ Next we prove the important fact that homomorphisms are uniquely determined by t
 
  hom-unique : funext π“₯ 𝓦 β†’ {𝑨 : Algebra 𝓀 𝑆}{𝑩 : Algebra 𝓦 𝑆}
               (X : Pred ∣ 𝑨 ∣ 𝓀)  (g h : hom 𝑨 𝑩)
-  β†’           Ξ  x κž‰ ∣ 𝑨 ∣ , (x ∈ X β†’ ∣ g ∣ x ≑ ∣ h ∣ x)
+  β†’           Ξ  x κž‰ ∣ 𝑨 ∣ , (x ∈ X β†’ ∣ g ∣ x ≑ ∣ h ∣ x)
               -------------------------------------------------
-  β†’           Ξ  a κž‰ ∣ 𝑨 ∣ , (a ∈ Sg 𝑨 X β†’ ∣ g ∣ a ≑ ∣ h ∣ a)
+  β†’           Ξ  a κž‰ ∣ 𝑨 ∣ , (a ∈ Sg 𝑨 X β†’ ∣ g ∣ a ≑ ∣ h ∣ a)
 
  hom-unique _ _ _ _ Ξ± a (var x) = Ξ± a x
 
diff --git a/UALib/html/Subalgebras.Univalent.md b/UALib/html/Subalgebras.Univalent.md
index 2a45f5e7..c4832e60 100644
--- a/UALib/html/Subalgebras.Univalent.md
+++ b/UALib/html/Subalgebras.Univalent.md
@@ -36,21 +36,21 @@ This module can be safely skipped, or even left out of the Agda Universal Algebr
 open import MGS-Subsingleton-Theorems using (Ξ -is-subsingleton)
 
 open import MGS-Embeddings using (embedding-gives-ap-is-equiv; pr₁-embedding;
- lr-implication; rl-implication; inverse; Γ—-is-subsingleton; _≃_; _●_;
+ lr-implication; rl-implication; inverse; Γ—-is-subsingleton; _≃_; _●_;
  logically-equivalent-subsingletons-are-equivalent)
 
 
 
 
-module mhe_subgroup_generalization {𝓦 : Universe} {𝑨 : Algebra 𝓦 𝑆} (ua : Univalence) where
+module mhe_subgroup_generalization {𝓦 : Universe} {𝑨 : Algebra 𝓦 𝑆} (ua : Univalence) where
 
- open import MGS-Powerset renaming (_∈_ to _βˆˆβ‚€_; _βŠ†_ to _βŠ†β‚€_; ∈-is-subsingleton to βˆˆβ‚€-is-subsingleton)
+ open import MGS-Powerset renaming (_∈_ to _βˆˆβ‚€_; _βŠ†_ to _βŠ†β‚€_; ∈-is-subsingleton to βˆˆβ‚€-is-subsingleton)
   using (π“Ÿ; equiv-to-subsingleton; powersets-are-sets'; subset-extensionality'; propext; _holds; Ξ©)
 
- op-closed : (∣ 𝑨 ∣ β†’ 𝓦 Μ‡) β†’ π“ž βŠ” π“₯ βŠ” 𝓦 Μ‡
+ op-closed : (∣ 𝑨 ∣ β†’ 𝓦 Μ‡) β†’ π“ž βŠ” π“₯ βŠ” 𝓦 Μ‡
  op-closed B = (f : ∣ 𝑆 ∣)(a : βˆ₯ 𝑆 βˆ₯ f β†’ ∣ 𝑨 ∣) β†’ ((i : βˆ₯ 𝑆 βˆ₯ f) β†’ B (a i)) β†’ B ((f Μ‚ 𝑨) a)
 
- subuniverse : π“ž βŠ” π“₯ βŠ” 𝓦 ⁺ Μ‡
+ subuniverse : π“ž βŠ” π“₯ βŠ” 𝓦 ⁺ Μ‡
  subuniverse = Ξ£ B κž‰ (π“Ÿ ∣ 𝑨 ∣) , op-closed ( _βˆˆβ‚€ B)
 
 
@@ -67,51 +67,51 @@ This module can be safely skipped, or even left out of the Agda Universal Algebr
 
 
  --so equality of subalgebras is equality of their underlying subsets in the powerset:
- ap-pr₁ : (B C : subuniverse) β†’ B ≑ C β†’ ∣ B ∣ ≑ ∣ C ∣
+ ap-pr₁ : (B C : subuniverse) β†’ B ≑ C β†’ ∣ B ∣ ≑ ∣ C ∣
  ap-pr₁ B C = ap ∣_∣
 
  ap-pr₁-is-equiv : (B C : subuniverse) β†’ is-equiv (ap-pr₁ B C)
  ap-pr₁-is-equiv = embedding-gives-ap-is-equiv ∣_∣ pr₁-is-embedding
 
- subuniverse-is-a-set : is-set subuniverse
+ subuniverse-is-a-set : is-set subuniverse
  subuniverse-is-a-set B C = equiv-to-subsingleton
-                            (ap-pr₁ B C , ap-pr₁-is-equiv B C)
+                            (ap-pr₁ B C , ap-pr₁-is-equiv B C)
                             (powersets-are-sets' ua ∣ B ∣ ∣ C ∣)
 
 
  subuniverse-equal-gives-membership-equiv : (B C : subuniverse)
-  β†’                                         B ≑ C
+  β†’                                         B ≑ C
                                             ---------------------
-  β†’                                         (βˆ€ x β†’ x βˆˆβ‚€ ∣ B ∣ ⇔ x βˆˆβ‚€ ∣ C ∣)
+  β†’                                         (βˆ€ x β†’ x βˆˆβ‚€ ∣ B ∣ ⇔ x βˆˆβ‚€ ∣ C ∣)
 
  subuniverse-equal-gives-membership-equiv B C B≑C x =
-  transport (Ξ» - β†’ x βˆˆβ‚€ ∣ - ∣) B≑C , transport (Ξ» - β†’ x βˆˆβ‚€ ∣ - ∣ ) ( B≑C ⁻¹ )
+  transport (Ξ» - β†’ x βˆˆβ‚€ ∣ - ∣) B≑C , transport (Ξ» - β†’ x βˆˆβ‚€ ∣ - ∣ ) ( B≑C ⁻¹ )
 
 
  membership-equiv-gives-carrier-equal : (B C : subuniverse)
-  β†’                                     (βˆ€ x β†’  x βˆˆβ‚€ ∣ B ∣  ⇔  x βˆˆβ‚€ ∣ C ∣)
+  β†’                                     (βˆ€ x β†’  x βˆˆβ‚€ ∣ B ∣  ⇔  x βˆˆβ‚€ ∣ C ∣)
                                         --------------------------------
-  β†’                                     ∣ B ∣ ≑ ∣ C ∣
+  β†’                                     ∣ B ∣ ≑ ∣ C ∣
 
  membership-equiv-gives-carrier-equal B C Ο† = subset-extensionality' ua Ξ± Ξ²
   where
    Ξ± :  ∣ B ∣ βŠ†β‚€ ∣ C ∣
-   Ξ± x = lr-implication (Ο† x)
+   Ξ± x = lr-implication (Ο† x)
 
    Ξ² : ∣ C ∣ βŠ†β‚€ ∣ B ∣
-   Ξ² x = rl-implication (Ο† x)
+   Ξ² x = rl-implication (Ο† x)
 
 
  membership-equiv-gives-subuniverse-equality : (B C : subuniverse)
-  β†’                                            (βˆ€ x β†’ x βˆˆβ‚€ ∣ B ∣ ⇔ x βˆˆβ‚€ ∣ C ∣)
+  β†’                                            (βˆ€ x β†’ x βˆˆβ‚€ ∣ B ∣ ⇔ x βˆˆβ‚€ ∣ C ∣)
                                                -----------------------------
-  β†’                                            B ≑ C
+  β†’                                            B ≑ C
 
  membership-equiv-gives-subuniverse-equality B C = inverse (ap-pr₁ B C)
   (ap-pr₁-is-equiv B C) ∘ (membership-equiv-gives-carrier-equal B C)
 
 
- membership-equiv-is-subsingleton : (B C : subuniverse) β†’ is-subsingleton (βˆ€ x β†’ x βˆˆβ‚€ ∣ B ∣ ⇔ x βˆˆβ‚€ ∣ C ∣)
+ membership-equiv-is-subsingleton : (B C : subuniverse) β†’ is-subsingleton (βˆ€ x β†’ x βˆˆβ‚€ ∣ B ∣ ⇔ x βˆˆβ‚€ ∣ C ∣)
 
  membership-equiv-is-subsingleton B C = Ξ -is-subsingleton gfe
   (Ξ» x β†’ Γ—-is-subsingleton
@@ -119,32 +119,32 @@ This module can be safely skipped, or even left out of the Agda Universal Algebr
     (Ξ -is-subsingleton gfe (Ξ» _ β†’ βˆˆβ‚€-is-subsingleton ∣ B ∣ x )))
 
 
- subuniverse-equality : (B C : subuniverse) β†’ (B ≑ C) ≃ (βˆ€ x β†’ (x βˆˆβ‚€ ∣ B ∣) ⇔ (x βˆˆβ‚€ ∣ C ∣))
+ subuniverse-equality : (B C : subuniverse) β†’ (B ≑ C) ≃ (βˆ€ x β†’ (x βˆˆβ‚€ ∣ B ∣) ⇔ (x βˆˆβ‚€ ∣ C ∣))
 
  subuniverse-equality B C = logically-equivalent-subsingletons-are-equivalent _ _
   (subuniverse-is-a-set B C) (membership-equiv-is-subsingleton B C)
-   (subuniverse-equal-gives-membership-equiv B C , membership-equiv-gives-subuniverse-equality B C)
+   (subuniverse-equal-gives-membership-equiv B C , membership-equiv-gives-subuniverse-equality B C)
 
 
  carrier-equality-gives-membership-equiv : (B C : subuniverse)
-  β†’                                        ∣ B ∣ ≑ ∣ C ∣
+  β†’                                        ∣ B ∣ ≑ ∣ C ∣
                                            -------------------------------
-  β†’                                        (βˆ€ x β†’ x βˆˆβ‚€ ∣ B ∣  ⇔  x βˆˆβ‚€ ∣ C ∣)
+  β†’                                        (βˆ€ x β†’ x βˆˆβ‚€ ∣ B ∣  ⇔  x βˆˆβ‚€ ∣ C ∣)
 
- carrier-equality-gives-membership-equiv B C refl x = id , id
+ carrier-equality-gives-membership-equiv B C refl x = id , id
 
 
  --so we have...
- carrier-equiv : (B C : subuniverse) β†’ (βˆ€ x β†’ x βˆˆβ‚€ ∣ B ∣ ⇔ x βˆˆβ‚€ ∣ C ∣) ≃ (∣ B ∣ ≑ ∣ C ∣)
+ carrier-equiv : (B C : subuniverse) β†’ (βˆ€ x β†’ x βˆˆβ‚€ ∣ B ∣ ⇔ x βˆˆβ‚€ ∣ C ∣) ≃ (∣ B ∣ ≑ ∣ C ∣)
 
  carrier-equiv B C = logically-equivalent-subsingletons-are-equivalent _ _
   (membership-equiv-is-subsingleton B C)(powersets-are-sets' ua ∣ B ∣ ∣ C ∣)
-   (membership-equiv-gives-carrier-equal B C , carrier-equality-gives-membership-equiv B C)
+   (membership-equiv-gives-carrier-equal B C , carrier-equality-gives-membership-equiv B C)
 
  -- ...which yields an alternative subuniverse equality lemma.
- subuniverse-equality' : (B C : subuniverse) β†’ (B ≑ C) ≃ (∣ B ∣ ≑ ∣ C ∣)
+ subuniverse-equality' : (B C : subuniverse) β†’ (B ≑ C) ≃ (∣ B ∣ ≑ ∣ C ∣)
 
- subuniverse-equality' B C = (subuniverse-equality B C) ● (carrier-equiv B C)
+ subuniverse-equality' B C = (subuniverse-equality B C) ● (carrier-equiv B C)
 
 
diff --git a/UALib/html/Terms.Basic.md b/UALib/html/Terms.Basic.md index 4c814c79..bd7112ec 100644 --- a/UALib/html/Terms.Basic.md +++ b/UALib/html/Terms.Basic.md @@ -41,7 +41,7 @@ The definition of `Term X` is recursive, indicating that an inductive type could
 
-data Term {𝓧 : Universe}(X : 𝓧 Μ‡ ) : ov 𝓧 Μ‡  where
+data Term {𝓧 : Universe}(X : 𝓧 Μ‡ ) : ov 𝓧 Μ‡  where
   generator : X β†’ Term X
   node : (f : ∣ 𝑆 ∣)(𝑑 : βˆ₯ 𝑆 βˆ₯ f β†’ Term X) β†’ Term X
 
@@ -68,8 +68,8 @@ In [Agda][] the term algebra can be defined as simply as one could hope.
 
 
 
-𝑻 : {𝓧 : Universe}(X : 𝓧 Μ‡ ) β†’ Algebra (ov 𝓧) 𝑆
-𝑻 X = Term X , node
+𝑻 : {𝓧 : Universe}(X : 𝓧 Μ‡ ) β†’ Algebra (ov 𝓧) 𝑆
+𝑻 X = Term X , node
 
 
@@ -86,7 +86,7 @@ We now prove this in [Agda][], starting with the fact that every map from `X` to
 
-module _ {𝓀 𝓧 : Universe}{X : 𝓧 Μ‡ } where
+module _ {𝓀 𝓧 : Universe}{X : 𝓧 Μ‡ } where
 
  free-lift : (𝑨 : Algebra 𝓀 𝑆)(h : X β†’ ∣ 𝑨 ∣) β†’ ∣ 𝑻 X ∣ β†’ ∣ 𝑨 ∣
 
@@ -109,7 +109,7 @@ The free lift so defined is a homomorphism by construction. Indeed, here is the
 
  lift-hom : (𝑨 : Algebra 𝓀 𝑆) β†’ (X β†’ ∣ 𝑨 ∣) β†’ hom (𝑻 X) 𝑨
 
- lift-hom 𝑨 h = free-lift 𝑨 h , Ξ» f a β†’ ap (f Μ‚ 𝑨) refl
+ lift-hom 𝑨 h = free-lift 𝑨 h , Ξ» f a β†’ ap (f Μ‚ 𝑨) refl
 
 
@@ -118,9 +118,9 @@ Finally, we prove that the homomorphism is unique. This requires `funext π“₯
 
  free-unique : funext π“₯ 𝓀 β†’ (𝑨 : Algebra 𝓀 𝑆)(g h : hom (𝑻 X) 𝑨)
-  β†’            (βˆ€ x β†’ ∣ g ∣ (generator x) ≑ ∣ h ∣ (generator x))
+  β†’            (βˆ€ x β†’ ∣ g ∣ (generator x) ≑ ∣ h ∣ (generator x))
                ----------------------------------------------------
-  β†’            βˆ€ (t : Term X) β†’  ∣ g ∣ t ≑ ∣ h ∣ t
+  β†’            βˆ€ (t : Term X) β†’  ∣ g ∣ t ≑ ∣ h ∣ t
 
  free-unique _ _ _ _ p (generator x) = p x
 
@@ -129,7 +129,7 @@ Finally, we prove that the homomorphism is unique.  This requires `funext π“₯ 
                                     (𝑓 Μ‚ 𝑨)(∣ h ∣ ∘ 𝑑)  β‰‘βŸ¨ (βˆ₯ h βˆ₯ 𝑓 𝑑)⁻¹ ⟩
                                     ∣ h ∣ (node 𝑓 𝑑)   ∎
   where
-  Ξ± : (𝑓 Μ‚ 𝑨) (∣ g ∣ ∘ 𝑑) ≑ (𝑓 Μ‚ 𝑨) (∣ h ∣ ∘ 𝑑)
+  Ξ± : (𝑓 Μ‚ 𝑨) (∣ g ∣ ∘ 𝑑) ≑ (𝑓 Μ‚ 𝑨) (∣ h ∣ ∘ 𝑑)
   Ξ± = ap (𝑓 Μ‚ 𝑨) (fe Ξ» i β†’ free-unique fe 𝑨 g h p (𝑑 i))
 
 
@@ -148,7 +148,7 @@ If we further assume that each of the mappings from `X` to `∣ 𝑨 ∣` is *su where h₀⁻¹y = Inv hβ‚€ (hE y) - Ξ· : y ≑ ∣ lift-hom 𝑨 hβ‚€ ∣ (generator h₀⁻¹y) + Ξ· : y ≑ ∣ lift-hom 𝑨 hβ‚€ ∣ (generator h₀⁻¹y) Ξ· = (InvIsInv hβ‚€ (hE y))⁻¹ Ξ³ : Image ∣ lift-hom 𝑨 hβ‚€ ∣ βˆ‹ y diff --git a/UALib/html/Terms.Operations.md b/UALib/html/Terms.Operations.md index 68908f47..f3050878 100644 --- a/UALib/html/Terms.Operations.md +++ b/UALib/html/Terms.Operations.md @@ -19,7 +19,7 @@ Here we define *term operations* which are simply terms interpreted in a particu module Terms.Operations {𝑆 : Signature π“ž π“₯} where -open import Terms.Basic{𝑆 = 𝑆} renaming (generator to β„Š) public +open import Terms.Basic{𝑆 = 𝑆} renaming (generator to β„Š) public
@@ -35,7 +35,7 @@ Thus the interpretation of a term is defined by induction on the structure of th
 
-module _ {𝓀 𝓧 : Universe}{X : 𝓧 Μ‡ }  where
+module _ {𝓀 𝓧 : Universe}{X : 𝓧 Μ‡ }  where
 
  -- new notation
 
@@ -61,15 +61,15 @@ It turns out that the intepretation of a term is the same as the `free-lift` (mo
 
 
 
- free-lift-interp : dfunext π“₯ 𝓀 β†’ (𝑨 : Algebra 𝓀 𝑆)(Ξ· : X β†’ ∣ 𝑨 ∣)(p : Term X)
-  β†’                 (𝑨 ⟦ p ⟧) Ξ· ≑ (free-lift 𝑨 Ξ·) p
+ free-lift-interp : dfunext π“₯ 𝓀 β†’ (𝑨 : Algebra 𝓀 𝑆)(Ξ· : X β†’ ∣ 𝑨 ∣)(p : Term X)
+  β†’                 (𝑨 ⟦ p ⟧) Ξ· ≑ (free-lift 𝑨 Ξ·) p
 
  free-lift-interp _ 𝑨 Ξ· (β„Š x) = refl
  free-lift-interp fe 𝑨 Ξ· (node 𝑓 𝑑) = ap (𝑓 Μ‚ 𝑨) (fe Ξ» i β†’ free-lift-interp fe 𝑨 Ξ· (𝑑 i))
 
  -- old version
- free-lift-interp' : dfunext π“₯ 𝓀 β†’ (𝑨 : Algebra 𝓀 𝑆)(h : X β†’ ∣ 𝑨 ∣)(p : Term X)
-  β†’                 (p Μ‡ 𝑨) h ≑ (free-lift 𝑨 h) p
+ free-lift-interp' : dfunext π“₯ 𝓀 β†’ (𝑨 : Algebra 𝓀 𝑆)(h : X β†’ ∣ 𝑨 ∣)(p : Term X)
+  β†’                 (p Μ‡ 𝑨) h ≑ (free-lift 𝑨 h) p
 
  free-lift-interp' _ 𝑨 h (β„Š x) = refl
  free-lift-interp' fe 𝑨 h (node 𝑓 𝑑) = ap (𝑓 Μ‚ 𝑨) (fe Ξ» i β†’ free-lift-interp' fe 𝑨 h (𝑑 i))
@@ -96,36 +96,36 @@ We claim that for all `p : Term X` there exists `q : Term X` and `𝔱 : X β†’ 
 
 
 
-term-interp : {𝓧 : Universe}{X : 𝓧 Μ‡} (𝑓 : ∣ 𝑆 ∣){𝑠 𝑑 : βˆ₯ 𝑆 βˆ₯ 𝑓 β†’ Term X}
- β†’            𝑠 ≑ 𝑑 β†’ node 𝑓 𝑠 ≑ (𝑓 Μ‚ 𝑻 X) 𝑑
+term-interp : {𝓧 : Universe}{X : 𝓧 Μ‡} (𝑓 : ∣ 𝑆 ∣){𝑠 𝑑 : βˆ₯ 𝑆 βˆ₯ 𝑓 β†’ Term X}
+ β†’            𝑠 ≑ 𝑑 β†’ node 𝑓 𝑠 ≑ (𝑓 Μ‚ 𝑻 X) 𝑑
 
 term-interp 𝑓 {𝑠}{𝑑} st = ap (node 𝑓) st
 
-module _ {𝓧 : Universe}{X : 𝓧 Μ‡}{fe : dfunext π“₯ (ov 𝓧)} where
+module _ {𝓧 : Universe}{X : 𝓧 Μ‡}{fe : dfunext π“₯ (ov 𝓧)} where
 
- term-gen : (p : ∣ 𝑻 X ∣) β†’ Ξ£ q κž‰ ∣ 𝑻 X ∣ , p ≑ (𝑻 X ⟦ q ⟧) β„Š
- term-gen (β„Š x) = (β„Š x) , refl
- term-gen (node 𝑓 𝑑) = node 𝑓 (Ξ» i β†’ ∣ term-gen (𝑑 i) ∣) , term-interp 𝑓 (fe Ξ» i β†’ βˆ₯ term-gen (𝑑 i) βˆ₯)
+ term-gen : (p : ∣ 𝑻 X ∣) β†’ Ξ£ q κž‰ ∣ 𝑻 X ∣ , p ≑ (𝑻 X ⟦ q ⟧) β„Š
+ term-gen (β„Š x) = (β„Š x) , refl
+ term-gen (node 𝑓 𝑑) = node 𝑓 (Ξ» i β†’ ∣ term-gen (𝑑 i) ∣) , term-interp 𝑓 (fe Ξ» i β†’ βˆ₯ term-gen (𝑑 i) βˆ₯)
 
 
- term-gen-agreement : (p : ∣ 𝑻 X ∣) β†’ (𝑻 X ⟦ p ⟧) β„Š ≑ (𝑻 X ⟦ ∣ term-gen p ∣ ⟧) β„Š
+ term-gen-agreement : (p : ∣ 𝑻 X ∣) β†’ (𝑻 X ⟦ p ⟧) β„Š ≑ (𝑻 X ⟦ ∣ term-gen p ∣ ⟧) β„Š
  term-gen-agreement (β„Š x) = refl
  term-gen-agreement (node f 𝑑) = ap (f Μ‚ 𝑻 X) (fe Ξ» x β†’ term-gen-agreement (𝑑 x))
 
- term-agreement : (p : ∣ 𝑻 X ∣) β†’ p ≑  (𝑻 X ⟦ p ⟧) β„Š
+ term-agreement : (p : ∣ 𝑻 X ∣) β†’ p ≑  (𝑻 X ⟦ p ⟧) β„Š
  term-agreement p = snd (term-gen p) βˆ™ (term-gen-agreement p)⁻¹
 
  -- old version:
- term-gen' : (p : ∣ 𝑻 X ∣) β†’ Ξ£ q κž‰ ∣ 𝑻 X ∣ , p ≑ (q Μ‡ 𝑻 X) β„Š
- term-gen' (β„Š x) = (β„Š x) , refl
- term-gen' (node 𝑓 𝑑) = node 𝑓 (Ξ» i β†’ ∣ term-gen' (𝑑 i) ∣) , term-interp 𝑓 (fe Ξ» i β†’ βˆ₯ term-gen' (𝑑 i) βˆ₯)
+ term-gen' : (p : ∣ 𝑻 X ∣) β†’ Ξ£ q κž‰ ∣ 𝑻 X ∣ , p ≑ (q Μ‡ 𝑻 X) β„Š
+ term-gen' (β„Š x) = (β„Š x) , refl
+ term-gen' (node 𝑓 𝑑) = node 𝑓 (Ξ» i β†’ ∣ term-gen' (𝑑 i) ∣) , term-interp 𝑓 (fe Ξ» i β†’ βˆ₯ term-gen' (𝑑 i) βˆ₯)
 
 
- term-gen-agreement' : (p : ∣ 𝑻 X ∣) β†’ (p Μ‡ 𝑻 X) β„Š ≑ (∣ term-gen' p ∣ Μ‡ 𝑻 X) β„Š
+ term-gen-agreement' : (p : ∣ 𝑻 X ∣) β†’ (p Μ‡ 𝑻 X) β„Š ≑ (∣ term-gen' p ∣ Μ‡ 𝑻 X) β„Š
  term-gen-agreement' (β„Š x) = refl
  term-gen-agreement' (node f 𝑑) = ap (f Μ‚ 𝑻 X) (fe Ξ» x β†’ term-gen-agreement' (𝑑 x))
 
- term-agreement' : (p : ∣ 𝑻 X ∣) β†’ p ≑ (p Μ‡ 𝑻 X) β„Š
+ term-agreement' : (p : ∣ 𝑻 X ∣) β†’ p ≑ (p Μ‡ 𝑻 X) β„Š
  term-agreement' p = snd (term-gen' p) βˆ™ (term-gen-agreement' p)⁻¹
 
 
@@ -137,10 +137,10 @@ We claim that for all `p : Term X` there exists `q : Term X` and `𝔱 : X β†’ 
 
 
 
-module _ {𝓀 𝓦 𝓧 : Universe}{X : 𝓧 Μ‡ }{I : 𝓦 Μ‡} where
+module _ {𝓀 𝓦 𝓧 : Universe}{X : 𝓧 Μ‡ }{I : 𝓦 Μ‡} where
 
- interp-prod : dfunext π“₯ (𝓀 βŠ” 𝓦) β†’ (p : Term X)(π’œ : I β†’ Algebra 𝓀 𝑆)(π‘Ž : X β†’ βˆ€ i β†’ ∣ π’œ i ∣)
-  β†’            (β¨… π’œ ⟦ p ⟧) π‘Ž ≑ Ξ» i β†’  (π’œ i ⟦ p ⟧) (Ξ» j β†’ π‘Ž j i)
+ interp-prod : dfunext π“₯ (𝓀 βŠ” 𝓦) β†’ (p : Term X)(π’œ : I β†’ Algebra 𝓀 𝑆)(π‘Ž : X β†’ βˆ€ i β†’ ∣ π’œ i ∣)
+  β†’            (β¨… π’œ ⟦ p ⟧) π‘Ž ≑ Ξ» i β†’  (π’œ i ⟦ p ⟧) (Ξ» j β†’ π‘Ž j i)
 
  interp-prod _ (β„Š x₁) π’œ π‘Ž = refl
 
@@ -151,8 +151,8 @@ We claim that for all `p : Term X` there exists `q : Term X` and `𝔱 : X β†’ 
   (Ξ» i β†’ (𝑓 Μ‚ π’œ i) (Ξ» x β†’ (π’œ i ⟦ 𝑑 x ⟧) Ξ» j β†’ π‘Ž j i))  ∎
 
  -- inferred type: 𝑑 : X β†’ ∣ β¨… π’œ ∣
- interp-prod2 : dfunext (𝓀 βŠ” 𝓦 βŠ” 𝓧) (𝓀 βŠ” 𝓦) β†’ dfunext π“₯ (𝓀 βŠ” 𝓦) β†’ (p : Term X)(π’œ : I β†’ Algebra 𝓀 𝑆)
-  β†’             β¨… π’œ ⟦ p ⟧ ≑ (Ξ» 𝑑 β†’ (Ξ» i β†’ (π’œ i ⟦ p ⟧) Ξ» x β†’ 𝑑 x i))
+ interp-prod2 : dfunext (𝓀 βŠ” 𝓦 βŠ” 𝓧) (𝓀 βŠ” 𝓦) β†’ dfunext π“₯ (𝓀 βŠ” 𝓦) β†’ (p : Term X)(π’œ : I β†’ Algebra 𝓀 𝑆)
+  β†’             β¨… π’œ ⟦ p ⟧ ≑ (Ξ» 𝑑 β†’ (Ξ» i β†’ (π’œ i ⟦ p ⟧) Ξ» x β†’ 𝑑 x i))
 
  interp-prod2 _ _ (β„Š x₁) π’œ = refl
 
@@ -163,13 +163,13 @@ We claim that for all `p : Term X` there exists `q : Term X` and `𝔱 : X β†’ 
   (f Μ‚ β¨… π’œ)(Ξ» s β†’ Ξ» j β†’ (π’œ j ⟦ t s ⟧) (Ξ» β„“ β†’ tup β„“ j))   β‰‘βŸ¨ refl ⟩
   (Ξ» i β†’ (f Μ‚ π’œ i)(Ξ» s β†’  (π’œ i ⟦ t s ⟧) (Ξ» β„“ β†’ tup β„“ i))) ∎
 
-module _ {𝓀 𝓧 : Universe}{X : 𝓧 Μ‡ } where
+module _ {𝓀 𝓧 : Universe}{X : 𝓧 Μ‡ } where
 
- interp-prod' : {𝓦 : Universe} β†’ dfunext π“₯ (𝓀 βŠ” 𝓦)
+ interp-prod' : {𝓦 : Universe} β†’ dfunext π“₯ (𝓀 βŠ” 𝓦)
   β†’             (p : Term X){I : 𝓦 Μ‡}
                 (π’œ : I β†’ Algebra 𝓀 𝑆)(π‘Ž : X β†’ βˆ€ i β†’ ∣ π’œ i ∣)
                 ---------------------------------------------------
-  β†’             (p Μ‡ (β¨… π’œ)) π‘Ž ≑ (Ξ» i β†’ (p Μ‡ π’œ i) (Ξ» j β†’ π‘Ž j i))
+  β†’             (p Μ‡ (β¨… π’œ)) π‘Ž ≑ (Ξ» i β†’ (p Μ‡ π’œ i) (Ξ» j β†’ π‘Ž j i))
 
  interp-prod' _ (β„Š x₁) π’œ π‘Ž = refl
 
@@ -180,10 +180,10 @@ We claim that for all `p : Term X` there exists `q : Term X` and `𝔱 : X β†’ 
   (Ξ» i β†’ (𝑓 Μ‚ π’œ i) (Ξ» x β†’ (𝑑 x Μ‡ π’œ i)(Ξ» j β†’ π‘Ž j i)))  ∎
 
 
- interp-prod2' : dfunext (𝓀 βŠ” 𝓧) 𝓀 β†’ dfunext π“₯ 𝓀
+ interp-prod2' : dfunext (𝓀 βŠ” 𝓧) 𝓀 β†’ dfunext π“₯ 𝓀
   β†’              (p : Term X){I : 𝓀 Μ‡ }(π’œ : I β†’ Algebra 𝓀 𝑆)
                  ------------------------------------------------------------------
-  β†’              (p Μ‡ β¨… π’œ) ≑ Ξ»(𝑑 : X β†’ ∣ β¨… π’œ ∣) β†’ (Ξ» i β†’ (p Μ‡ π’œ i)(Ξ» x β†’ 𝑑 x i))
+  β†’              (p Μ‡ β¨… π’œ) ≑ Ξ»(𝑑 : X β†’ ∣ β¨… π’œ ∣) β†’ (Ξ» i β†’ (p Μ‡ π’œ i)(Ξ» x β†’ 𝑑 x i))
 
  interp-prod2' _ _ (β„Š x₁) π’œ = refl
 
@@ -205,12 +205,12 @@ We now prove two important facts about term operations.  The first of these, whi
 
 
 
-module _ {𝓀 𝓦 𝓧 : Universe}{X : 𝓧 Μ‡} where
+module _ {𝓀 𝓦 𝓧 : Universe}{X : 𝓧 Μ‡} where
 
- comm-hom-term : dfunext π“₯ 𝓦 β†’ {𝑨 : Algebra 𝓀 𝑆} (𝑩 : Algebra 𝓦 𝑆)
+ comm-hom-term : dfunext π“₯ 𝓦 β†’ {𝑨 : Algebra 𝓀 𝑆} (𝑩 : Algebra 𝓦 𝑆)
                  (h : hom 𝑨 𝑩) (t : Term X) (a : X β†’ ∣ 𝑨 ∣)
                  -----------------------------------------
-  β†’              ∣ h ∣ ((𝑨 ⟦ t ⟧) a) ≑ (𝑩 ⟦ t ⟧) (∣ h ∣ ∘ a)
+  β†’              ∣ h ∣ ((𝑨 ⟦ t ⟧) a) ≑ (𝑩 ⟦ t ⟧) (∣ h ∣ ∘ a)
 
  comm-hom-term _ 𝑩 h (β„Š x) a = refl
 
@@ -221,10 +221,10 @@ We now prove two important facts about term operations.  The first of these, whi
   i  = βˆ₯ h βˆ₯ 𝑓 Ξ» r β†’ (𝑨 ⟦ 𝑑 r ⟧) a
   ii = ap (𝑓 Μ‚ 𝑩)(fe (Ξ» i β†’ comm-hom-term fe 𝑩 h (𝑑 i) a))
 
- comm-hom-term' : dfunext π“₯ 𝓦 β†’ {𝑨 : Algebra 𝓀 𝑆} (𝑩 : Algebra 𝓦 𝑆)
+ comm-hom-term' : dfunext π“₯ 𝓦 β†’ {𝑨 : Algebra 𝓀 𝑆} (𝑩 : Algebra 𝓦 𝑆)
                   (h : hom 𝑨 𝑩) (t : Term X) (a : X β†’ ∣ 𝑨 ∣)
                   -----------------------------------------
-  β†’               ∣ h ∣ ((𝑨 ⟦ t ⟧) a) ≑ (𝑩 ⟦ t ⟧) (∣ h ∣ ∘ a)
+  β†’               ∣ h ∣ ((𝑨 ⟦ t ⟧) a) ≑ (𝑩 ⟦ t ⟧) (∣ h ∣ ∘ a)
 
  comm-hom-term' _ 𝑩 h (β„Š x) a = refl
 
@@ -242,7 +242,7 @@ To conclude this module, we prove that every term is compatible with every congr
 
 
 
-module _ {𝓦 𝓀 : Universe}{X : 𝓀 Μ‡} where
+module _ {𝓦 𝓀 : Universe}{X : 𝓀 Μ‡} where
 
  open IsCongruence
 
diff --git a/UALib/html/UALib.md b/UALib/html/UALib.md
index 0759eb79..f2ca1018 100644
--- a/UALib/html/UALib.md
+++ b/UALib/html/UALib.md
@@ -43,6 +43,15 @@ of citation.
 **Author**. [William DeMeo][]  
 **Affiliation**. [Department of Algebra][], [Charles University in Prague][]
 
+
+

+ +**DEPRECATED** This is the documentation for the old version of the Agda Universal Algebra Library. For the lastest version, please go to: + +[https://ualib.github.io/agda-algebras](https://ualib.github.io/agda-algebras) + +

+ **Abstract**. The [Agda Universal Algebra Library][] ([UALib][]) is a library of types and programs (theorems and proofs) that formalizes the foundations of universal algebra in dependent type theory using the [Agda][] proof assistant language. In the latest version of the library we have defined many new types for representing the important constructs and theorems that comprise part of the foundations of general (universal) algebra and equational logic. These types are implemented in so called "literate" Agda files, with the `.lagda` extension, and they are grouped into modules so that they may be easily imported into other Agda programs. @@ -65,18 +74,18 @@ We hope the library will be useful to mathematicians and computer scientists who
 
-{-# OPTIONS --without-K --exact-split --safe #-}
+{-# OPTIONS --without-K --exact-split --safe #-}
 
-module UALib where
+module UALib where
 
-open import Preface
-open import Overture
-open import Relations
-open import Algebras
-open import Homomorphisms
-open import Terms
-open import Subalgebras
-open import Varieties
+open import Preface
+open import Overture
+open import Relations
+open import Algebras
+open import Homomorphisms
+open import Terms
+open import Subalgebras
+open import Varieties
 
 
diff --git a/UALib/html/Varieties.EquationalLogic.md b/UALib/html/Varieties.EquationalLogic.md index d9fd33ea..55203d73 100644 --- a/UALib/html/Varieties.EquationalLogic.md +++ b/UALib/html/Varieties.EquationalLogic.md @@ -30,11 +30,11 @@ We also prove some closure and invariance properties of ⊧. In particular, we {-# OPTIONS --without-K --exact-split --safe #-} open import Algebras.Signatures using (Signature; π“ž; π“₯) -open import Universes using (Universe; _Μ‡) +open import Universes using (Universe; _Μ‡) -module Varieties.EquationalLogic {𝑆 : Signature π“ž π“₯}{𝓧 : Universe}{X : 𝓧 Μ‡} where +module Varieties.EquationalLogic {𝑆 : Signature π“ž π“₯}{𝓧 : Universe}{X : 𝓧 Μ‡} where -open import Subalgebras.Subalgebras{𝑆 = 𝑆} hiding (Universe; _Μ‡) public +open import Subalgebras.Subalgebras{𝑆 = 𝑆} hiding (Universe; _Μ‡) public open import MGS-Embeddings using (embeddings-are-lc) public @@ -47,11 +47,11 @@ We define the binary "models" relation ⊧ using infix syntax so that we may wri
 
-module _ {𝓀 : Universe} where
- _⊧_β‰ˆ_ : Algebra 𝓀 𝑆 β†’ Term X β†’ Term X β†’ 𝓀 βŠ” 𝓧 Μ‡
- 𝑨 ⊧ p β‰ˆ q = 𝑨 ⟦ p ⟧ ≑ 𝑨 ⟦ q ⟧
+module _ {𝓀 : Universe} where
+ _⊧_β‰ˆ_ : Algebra 𝓀 𝑆 β†’ Term X β†’ Term X β†’ 𝓀 βŠ” 𝓧 Μ‡
+ 𝑨 ⊧ p β‰ˆ q = 𝑨 ⟦ p ⟧ ≑ 𝑨 ⟦ q ⟧
 
- _⊧_≋_ : Pred(Algebra 𝓀 𝑆)(ov 𝓀) β†’ Term X β†’ Term X β†’ 𝓧 βŠ” ov 𝓀 Μ‡
+ _⊧_≋_ : Pred(Algebra 𝓀 𝑆)(ov 𝓀) β†’ Term X β†’ Term X β†’ 𝓧 βŠ” ov 𝓀 Μ‡
  𝒦 ⊧ p ≋ q = {𝑨 : Algebra _ 𝑆} β†’ 𝒦 𝑨 β†’ 𝑨 ⊧ p β‰ˆ q
 
 
@@ -68,8 +68,8 @@ Here we define a type `Th` so that, if 𝒦 denotes a class of algebras, then `T
 
- Th : Pred (Algebra 𝓀 𝑆)(ov 𝓀) β†’ Pred(Term X Γ— Term X)(𝓧 βŠ” ov 𝓀)
- Th 𝒦 = Ξ» (p , q) β†’ 𝒦 ⊧ p ≋ q
+ Th : Pred (Algebra 𝓀 𝑆)(ov 𝓀) β†’ Pred(Term X Γ— Term X)(𝓧 βŠ” ov 𝓀)
+ Th 𝒦 = Ξ» (p , q) β†’ 𝒦 ⊧ p ≋ q
 
 
@@ -77,8 +77,8 @@ If β„° denotes a set of identities, then the class of algebras satisfying all id
 
- Mod : Pred(Term X Γ— Term X)(𝓧 βŠ” ov 𝓀) β†’ Pred(Algebra 𝓀 𝑆)(ov (𝓧 βŠ” 𝓀))
- Mod β„° = Ξ» 𝑨 β†’ βˆ€ p q β†’ (p , q) ∈ β„° β†’ 𝑨 ⊧ p β‰ˆ q
+ Mod : Pred(Term X Γ— Term X)(𝓧 βŠ” ov 𝓀) β†’ Pred(Algebra 𝓀 𝑆)(ov (𝓧 βŠ” 𝓀))
+ Mod β„° = Ξ» 𝑨 β†’ βˆ€ p q β†’ (p , q) ∈ β„° β†’ 𝑨 ⊧ p β‰ˆ q
 
 
@@ -92,15 +92,15 @@ The binary relation ⊧ would be practically useless if it were not an *algebrai
 
 
-DFunExt : 𝓀ω
-DFunExt = (𝓀 π“₯ : Universe) β†’ dfunext 𝓀 π“₯
+DFunExt : 𝓀ω
+DFunExt = (𝓀 π“₯ : Universe) β†’ dfunext 𝓀 π“₯
 
-module _ {𝓀 𝓦 : Universe}{𝑨 : Algebra 𝓀 𝑆} where
+module _ {𝓀 𝓦 : Universe}{𝑨 : Algebra 𝓀 𝑆} where
 
  ⊧-I-invar : DFunExt β†’ (𝑩 : Algebra 𝓦 𝑆)(p q : Term X)
   β†’          𝑨 ⊧ p β‰ˆ q  β†’  𝑨 β‰… 𝑩  β†’  𝑩 ⊧ p β‰ˆ q
 
- ⊧-I-invar fe 𝑩 p q Apq (f , g , f∼g , g∼f) = (fe (𝓧 βŠ” 𝓦) 𝓦) Ξ» x β†’
+ ⊧-I-invar fe 𝑩 p q Apq (f , g , f∼g , g∼f) = (fe (𝓧 βŠ” 𝓦) 𝓦) Ξ» x β†’
   (𝑩 ⟦ p ⟧) x                      β‰‘βŸ¨ refl ⟩
   (𝑩 ⟦ p ⟧) (∣ 𝒾𝒹 𝑩 ∣ ∘ x)         β‰‘βŸ¨ ap (𝑩 ⟦ p ⟧) ((fe 𝓧 𝓦) Ξ» i β†’ ((f∼g)(x i))⁻¹)⟩
   (𝑩 ⟦ p ⟧) ((∣ f ∣ ∘ ∣ g ∣) ∘ x)  β‰‘βŸ¨ (comm-hom-term (fe π“₯ 𝓦) 𝑩 f p (∣ g ∣ ∘ x))⁻¹ ⟩
@@ -118,7 +118,7 @@ The ⊧ relation is also invariant under the algebraic lift and lower operations
 
 
 
-module _ {𝓀 𝓦 : Universe}{𝑨 : Algebra 𝓀 𝑆} where
+module _ {𝓀 𝓦 : Universe}{𝑨 : Algebra 𝓀 𝑆} where
 
  ⊧-Lift-invar : DFunExt β†’ (p q : Term X) β†’ 𝑨 ⊧ p β‰ˆ q β†’ Lift-alg 𝑨 𝓦 ⊧ p β‰ˆ q
  ⊧-Lift-invar fe p q Apq = ⊧-I-invar fe (Lift-alg 𝑨 _) p q Apq Lift-β‰…
@@ -138,18 +138,18 @@ Identities modeled by an algebra 𝑨 are also modeled by every subalgebra of 
 
 
 
-module _ {𝓀 𝓦 : Universe}
+module _ {𝓀 𝓦 : Universe}
          -- (fwxw : dfunext (𝓦 βŠ” 𝓧) 𝓦)(fvu : dfunext π“₯ 𝓀)
  where
 
  ⊧-S-invar : DFunExt β†’ {𝑨 : Algebra 𝓀 𝑆}(𝑩 : Algebra 𝓦 𝑆){p q : Term X}
   β†’          𝑨 ⊧ p β‰ˆ q  β†’  𝑩 ≀ 𝑨  β†’  𝑩 ⊧ p β‰ˆ q
- ⊧-S-invar fe {𝑨} 𝑩 {p}{q} Apq B≀A = (fe (𝓧 βŠ” 𝓦) 𝓦) Ξ» b β†’ (embeddings-are-lc ∣ h ∣ βˆ₯ B≀A βˆ₯) (ΞΎ b)
+ ⊧-S-invar fe {𝑨} 𝑩 {p}{q} Apq B≀A = (fe (𝓧 βŠ” 𝓦) 𝓦) Ξ» b β†’ (embeddings-are-lc ∣ h ∣ βˆ₯ B≀A βˆ₯) (ΞΎ b)
   where
   h : hom 𝑩 𝑨
   h = ∣ B≀A ∣
 
-  ΞΎ : βˆ€ b β†’ ∣ h ∣ ((𝑩 ⟦ p ⟧) b) ≑ ∣ h ∣ ((𝑩 ⟦ q ⟧) b)
+  ΞΎ : βˆ€ b β†’ ∣ h ∣ ((𝑩 ⟦ p ⟧) b) ≑ ∣ h ∣ ((𝑩 ⟦ q ⟧) b)
   ΞΎ b = ∣ h ∣((𝑩 ⟦ p ⟧) b)   β‰‘βŸ¨ comm-hom-term (fe π“₯ 𝓀) 𝑨 h p b ⟩
         (𝑨 ⟦ p ⟧)(∣ h ∣ ∘ b) β‰‘βŸ¨ happly Apq (∣ h ∣ ∘ b) ⟩
         (𝑨 ⟦ q ⟧)(∣ h ∣ ∘ b) β‰‘βŸ¨ (comm-hom-term (fe π“₯ 𝓀) 𝑨 h q b)⁻¹ ⟩
@@ -163,7 +163,7 @@ Next, identities modeled by a class of algebras is also modeled by all subalgebr
 
  ⊧-S-class-invar : DFunExt β†’ {𝒦 : Pred (Algebra 𝓀 𝑆)(ov 𝓀)}(p q : Term X)
   β†’                𝒦 ⊧ p ≋ q β†’ (𝑩 : SubalgebraOfClass{𝓦} 𝒦) β†’ ∣ 𝑩 ∣ ⊧ p β‰ˆ q
- ⊧-S-class-invar fe p q Kpq (𝑩 , 𝑨 , SA , (ka , BisSA)) = ⊧-S-invar fe 𝑩 {p}{q}((Kpq ka)) (h , hem)
+ ⊧-S-class-invar fe p q Kpq (𝑩 , 𝑨 , SA , (ka , BisSA)) = ⊧-S-invar fe 𝑩 {p}{q}((Kpq ka)) (h , hem)
    where
    h : hom 𝑩 𝑨
    h = ∘-hom 𝑩 𝑨 (∣ BisSA ∣) ∣ snd SA ∣
@@ -181,15 +181,15 @@ An identity satisfied by all algebras in an indexed collection is also satisfied
 
 
 
-module _ {𝓀 𝓦 : Universe}(I : 𝓦 Μ‡)(π’œ : I β†’ Algebra 𝓀 𝑆) where
+module _ {𝓀 𝓦 : Universe}(I : 𝓦 Μ‡)(π’œ : I β†’ Algebra 𝓀 𝑆) where
 
  ⊧-P-invar : DFunExt β†’ {p q : Term X} β†’ (βˆ€ i β†’ π’œ i ⊧ p β‰ˆ q) β†’ β¨… π’œ ⊧ p β‰ˆ q
  ⊧-P-invar fe {p}{q} π’œpq = Ξ³
   where
-   Ξ³ : β¨… π’œ ⟦ p ⟧  ≑  β¨… π’œ ⟦ q ⟧
-   Ξ³ = (fe (𝓧 βŠ” 𝓀 βŠ” 𝓦) (𝓀 βŠ” 𝓦)) Ξ» a β†’ (β¨… π’œ ⟦ p ⟧) a      β‰‘βŸ¨ interp-prod (fe π“₯ (𝓀 βŠ” 𝓦)) p π’œ a ⟩
+   Ξ³ : β¨… π’œ ⟦ p ⟧  ≑  β¨… π’œ ⟦ q ⟧
+   Ξ³ = (fe (𝓧 βŠ” 𝓀 βŠ” 𝓦) (𝓀 βŠ” 𝓦)) Ξ» a β†’ (β¨… π’œ ⟦ p ⟧) a      β‰‘βŸ¨ interp-prod (fe π“₯ (𝓀 βŠ” 𝓦)) p π’œ a ⟩
        (Ξ» i β†’ (π’œ i ⟦ p ⟧)(Ξ» x β†’ (a x)i)) β‰‘βŸ¨ (fe 𝓦 𝓀) (Ξ» i β†’ cong-app (π’œpq i) (Ξ» x β†’ (a x) i)) ⟩
-       (Ξ» i β†’ (π’œ i ⟦ q ⟧)(Ξ» x β†’ (a x)i)) β‰‘βŸ¨ (interp-prod (fe π“₯ (𝓀 βŠ” 𝓦)) q π’œ a)⁻¹ ⟩
+       (Ξ» i β†’ (π’œ i ⟦ q ⟧)(Ξ» x β†’ (a x)i)) β‰‘βŸ¨ (interp-prod (fe π“₯ (𝓀 βŠ” 𝓦)) q π’œ a)⁻¹ ⟩
        (β¨… π’œ ⟦ q ⟧) a                     ∎
 
 
@@ -226,9 +226,9 @@ If an algebra 𝑨 models an identity p β‰ˆ q, then the pair (p , q) belongs to
 
-module _ {𝓀 𝓦 : Universe}{𝑨 : Algebra 𝓀 𝑆} where
+module _ {𝓀 𝓦 : Universe}{𝑨 : Algebra 𝓀 𝑆} where
 
- ⊧-H-invar : DFunExt β†’ {p q : Term X}(Ο† : hom (𝑻 X) 𝑨) β†’ 𝑨 ⊧ p β‰ˆ q  β†’  ∣ Ο† ∣ p ≑ ∣ Ο† ∣ q
+ ⊧-H-invar : DFunExt β†’ {p q : Term X}(Ο† : hom (𝑻 X) 𝑨) β†’ 𝑨 ⊧ p β‰ˆ q  β†’  ∣ Ο† ∣ p ≑ ∣ Ο† ∣ q
 
  ⊧-H-invar fe {p}{q} Ο† Ξ² = ∣ Ο† ∣ p      β‰‘βŸ¨ ap ∣ Ο† ∣ (term-agreement {fe = (fe π“₯ (ov 𝓧))} p) ⟩
                  ∣ Ο† ∣((𝑻 X ⟦ p ⟧) β„Š)   β‰‘βŸ¨ (comm-hom-term (fe π“₯ 𝓀) 𝑨 Ο† p β„Š ) ⟩
@@ -249,10 +249,10 @@ More generally, an identity is satisfied by all algebras in a class if and only
 
  -- β‡’ (the "only if" direction)
  ⊧-H-class-invar : DFunExt β†’ {p q : Term X}
-  β†’                𝒦 ⊧ p ≋ q β†’ βˆ€ 𝑨 Ο† β†’ 𝑨 ∈ 𝒦 β†’ ∣ Ο† ∣ ∘ (𝑻 X ⟦ p ⟧) ≑ ∣ Ο† ∣ ∘ (𝑻 X ⟦ q ⟧)
+  β†’                𝒦 ⊧ p ≋ q β†’ βˆ€ 𝑨 Ο† β†’ 𝑨 ∈ 𝒦 β†’ ∣ Ο† ∣ ∘ (𝑻 X ⟦ p ⟧) ≑ ∣ Ο† ∣ ∘ (𝑻 X ⟦ q ⟧)
  ⊧-H-class-invar fe {p}{q} Ξ± 𝑨 Ο† ka = (fe (ov 𝓧) 𝓀) ΞΎ
   where
-   ΞΎ : βˆ€(𝒂 : X β†’ ∣ 𝑻 X ∣ ) β†’ ∣ Ο† ∣ ((𝑻 X ⟦ p ⟧) 𝒂) ≑ ∣ Ο† ∣ ((𝑻 X ⟦ q ⟧) 𝒂)
+   ΞΎ : βˆ€(𝒂 : X β†’ ∣ 𝑻 X ∣ ) β†’ ∣ Ο† ∣ ((𝑻 X ⟦ p ⟧) 𝒂) ≑ ∣ Ο† ∣ ((𝑻 X ⟦ q ⟧) 𝒂)
    ΞΎ 𝒂 = ∣ Ο† ∣ ((𝑻 X ⟦ p ⟧) 𝒂)  β‰‘βŸ¨ comm-hom-term (fe π“₯ 𝓀) 𝑨 Ο† p 𝒂 ⟩
          (𝑨 ⟦ p ⟧)(∣ Ο† ∣ ∘ 𝒂)   β‰‘βŸ¨ happly (Ξ± ka) (∣ Ο† ∣ ∘ 𝒂) ⟩
          (𝑨 ⟦ q ⟧)(∣ Ο† ∣ ∘ 𝒂)   β‰‘βŸ¨ (comm-hom-term (fe π“₯ 𝓀) 𝑨 Ο† q 𝒂)⁻¹ ⟩
@@ -261,7 +261,7 @@ More generally, an identity is satisfied by all algebras in a class if and only
 
 -- ⇐ (the "if" direction)
  ⊧-H-class-coinvar : DFunExt β†’ {p q : Term X}
-  β†’  (βˆ€ 𝑨 Ο† β†’ 𝑨 ∈ 𝒦 β†’ ∣ Ο† ∣ ∘ (𝑻 X ⟦ p ⟧) ≑ ∣ Ο† ∣ ∘ (𝑻 X ⟦ q ⟧)) β†’ 𝒦 ⊧ p ≋ q
+  β†’  (βˆ€ 𝑨 Ο† β†’ 𝑨 ∈ 𝒦 β†’ ∣ Ο† ∣ ∘ (𝑻 X ⟦ p ⟧) ≑ ∣ Ο† ∣ ∘ (𝑻 X ⟦ q ⟧)) β†’ 𝒦 ⊧ p ≋ q
 
  ⊧-H-class-coinvar fe {p}{q} Ξ² {𝑨} ka = Ξ³
   where
@@ -269,14 +269,14 @@ More generally, an identity is satisfied by all algebras in a class if and only
   Ο† 𝒂 = lift-hom 𝑨 𝒂
 
   Ξ³ : 𝑨 ⊧ p β‰ˆ q
-  Ξ³ = (fe (𝓧 βŠ” 𝓀) 𝓀) Ξ» 𝒂 β†’ (𝑨 ⟦ p ⟧)(∣ Ο† 𝒂 ∣ ∘ β„Š)     β‰‘βŸ¨(comm-hom-term (fe π“₯ 𝓀) 𝑨 (Ο† 𝒂) p β„Š)⁻¹ ⟩
+  Ξ³ = (fe (𝓧 βŠ” 𝓀) 𝓀) Ξ» 𝒂 β†’ (𝑨 ⟦ p ⟧)(∣ Ο† 𝒂 ∣ ∘ β„Š)     β‰‘βŸ¨(comm-hom-term (fe π“₯ 𝓀) 𝑨 (Ο† 𝒂) p β„Š)⁻¹ ⟩
                (∣ Ο† 𝒂 ∣ ∘ (𝑻 X ⟦ p ⟧)) β„Š  β‰‘βŸ¨ cong-app (Ξ² 𝑨 (Ο† 𝒂) ka) β„Š ⟩
                (∣ Ο† 𝒂 ∣ ∘ (𝑻 X ⟦ q ⟧)) β„Š  β‰‘βŸ¨ (comm-hom-term (fe π“₯ 𝓀) 𝑨 (Ο† 𝒂) q β„Š) ⟩
                (𝑨 ⟦ q ⟧)(∣ Ο† 𝒂 ∣ ∘ β„Š)     ∎
 
 
- ⊧-H : DFunExt β†’ {p q : Term X} β†’ 𝒦 ⊧ p ≋ q ⇔ (βˆ€ 𝑨 Ο† β†’ 𝑨 ∈ 𝒦 β†’ ∣ Ο† ∣ ∘ (𝑻 X ⟦ p ⟧) ≑ ∣ Ο† ∣ ∘(𝑻 X ⟦ q ⟧))
- ⊧-H fe {p}{q} = ⊧-H-class-invar fe {p}{q} , ⊧-H-class-coinvar fe {p}{q} 
+ ⊧-H : DFunExt β†’ {p q : Term X} β†’ 𝒦 ⊧ p ≋ q ⇔ (βˆ€ 𝑨 Ο† β†’ 𝑨 ∈ 𝒦 β†’ ∣ Ο† ∣ ∘ (𝑻 X ⟦ p ⟧) ≑ ∣ Ο† ∣ ∘(𝑻 X ⟦ q ⟧))
+ ⊧-H fe {p}{q} = ⊧-H-class-invar fe {p}{q} , ⊧-H-class-coinvar fe {p}{q} 
 
 
diff --git a/UALib/html/Varieties.FreeAlgebras.md b/UALib/html/Varieties.FreeAlgebras.md index 1200622b..7ed97877 100644 --- a/UALib/html/Varieties.FreeAlgebras.md +++ b/UALib/html/Varieties.FreeAlgebras.md @@ -16,9 +16,9 @@ First we will define the relatively free algebra in a variety, which is the "fre {-# OPTIONS --without-K --exact-split --safe #-} open import Algebras.Signatures using (Signature; π“ž; π“₯) -open import MGS-Subsingleton-Theorems using (Universe; _Μ‡) +open import MGS-Subsingleton-Theorems using (Universe; _Μ‡) -module Varieties.FreeAlgebras {𝑆 : Signature π“ž π“₯} {𝓀 : Universe}{X : 𝓀 Μ‡} where +module Varieties.FreeAlgebras {𝑆 : Signature π“ž π“₯} {𝓀 : Universe}{X : 𝓀 Μ‡} where open import Varieties.Preservation {𝑆 = 𝑆}{𝓀}{𝓀}{X} public @@ -49,8 +49,8 @@ First, we represent the congruence relation `ψCon`, modulo which `𝑻 X` yield
 
 ψ : (𝒦 : Pred (Algebra 𝓀 𝑆) 𝓕) β†’ Pred (∣ 𝑻 X ∣ Γ— ∣ 𝑻 X ∣) 𝓕
-ψ 𝒦 (p , q) = βˆ€(𝑨 : Algebra 𝓀 𝑆)(sA : 𝑨 ∈ S{𝓀}{𝓀} 𝒦)(h : X β†’ ∣ 𝑨 ∣ )
-                 β†’  (free-lift 𝑨 h) p ≑ (free-lift 𝑨 h) q
+ψ 𝒦 (p , q) = βˆ€(𝑨 : Algebra 𝓀 𝑆)(sA : 𝑨 ∈ S{𝓀}{𝓀} 𝒦)(h : X β†’ ∣ 𝑨 ∣ )
+                 β†’  (free-lift 𝑨 h) p ≑ (free-lift 𝑨 h) q
 
 
@@ -59,7 +59,7 @@ We convert the predicate ψ into a relation by [currying](https://en.wikipedia.o
 
 ψRel : (𝒦 : Pred (Algebra 𝓀 𝑆) 𝓕) β†’ Rel ∣ 𝑻 X ∣ 𝓕
-ψRel 𝒦 p q = ψ 𝒦 (p , q)
+ψRel 𝒦 p q = ψ 𝒦 (p , q)
 
 
@@ -70,13 +70,13 @@ To express `ψRel` as a congruence of the term algebra `𝑻 X`, we must prove t
 
-ψcompatible : (𝒦 : Pred (Algebra 𝓀 𝑆) 𝓕){fe : dfunext π“₯ 𝓀} β†’ compatible (𝑻 X)(ψRel 𝒦)
+ψcompatible : (𝒦 : Pred (Algebra 𝓀 𝑆) 𝓕){fe : dfunext π“₯ 𝓀} β†’ compatible (𝑻 X)(ψRel 𝒦)
 ψcompatible 𝒦{fe} 𝑓 {p} {q} ψpq 𝑨 sA h = Ξ³
  where
   Ο† : hom (𝑻 X) 𝑨
   Ο† = lift-hom 𝑨 h
 
-  Ξ³ : ∣ Ο† ∣ ((𝑓 Μ‚ 𝑻 X) p) ≑ ∣ Ο† ∣ ((𝑓 Μ‚ 𝑻 X) q)
+  Ξ³ : ∣ Ο† ∣ ((𝑓 Μ‚ 𝑻 X) p) ≑ ∣ Ο† ∣ ((𝑓 Μ‚ 𝑻 X) q)
 
   Ξ³ = ∣ Ο† ∣ ((𝑓 Μ‚ 𝑻 X) p)  β‰‘βŸ¨ βˆ₯ Ο† βˆ₯ 𝑓 p ⟩
       (𝑓 Μ‚ 𝑨) (∣ Ο† ∣ ∘ p)  β‰‘βŸ¨ ap(𝑓 Μ‚ 𝑨)(fe Ξ» x β†’ (ψpq x) 𝑨 sA h) ⟩
@@ -94,8 +94,8 @@ We have collected all the pieces necessary to express the collection of identiti
 
 
 
-ψCon : (𝒦 : Pred (Algebra 𝓀 𝑆) 𝓕){fe : dfunext π“₯ 𝓀} β†’ Con (𝑻 X)
-ψCon 𝒦 {fe} = (ψRel 𝒦) , mkcon ψIsEquivalence (ψcompatible 𝒦 {fe})
+ψCon : (𝒦 : Pred (Algebra 𝓀 𝑆) 𝓕){fe : dfunext π“₯ 𝓀} β†’ Con (𝑻 X)
+ψCon 𝒦 {fe} = (ψRel 𝒦) , mkcon ψIsEquivalence (ψcompatible 𝒦 {fe})
 
 
@@ -187,18 +187,18 @@ We will need the following facts relating `homβ„­`, `hom𝔽`, `and ψ`.
 
- ψlemma0 : βˆ€ p q β†’  ∣ homβ„­ ∣ p ≑ ∣ homβ„­ ∣ q  β†’ (p , q) ∈ ψ 𝒦
- ψlemma0 p q phomβ„­q 𝑨 sA h = cong-app phomβ„­q (𝑨 , sA , h)
+ ψlemma0 : βˆ€ p q β†’  ∣ homβ„­ ∣ p ≑ ∣ homβ„­ ∣ q  β†’ (p , q) ∈ ψ 𝒦
+ ψlemma0 p q phomβ„­q 𝑨 sA h = cong-app phomβ„­q (𝑨 , sA , h)
 
  ψlemma0-ap : {𝑨 : Algebra 𝓀 𝑆}{h : X β†’ ∣ 𝑨 ∣} β†’ 𝑨 ∈ S{𝓀}{𝓀} 𝒦
   β†’           kernel ∣ hom𝔽 ∣ βŠ† kernel (free-lift 𝑨 h)
 
- ψlemma0-ap {𝑨}{h} skA {p , q} x = Ξ³ where
+ ψlemma0-ap {𝑨}{h} skA {p , q} x = Ξ³ where
 
-  Ξ½ : ∣ homβ„­ ∣ p ≑ ∣ homβ„­ ∣ q
+  Ξ½ : ∣ homβ„­ ∣ p ≑ ∣ homβ„­ ∣ q
   Ξ½ = ker-in-con {ov 𝓀}{ov 𝓀}{𝑻 X}{fe π“₯ 𝓕⁺}(kercon β„­ {fe π“₯ 𝓕} homβ„­) {p}{q} x
 
-  Ξ³ : (free-lift 𝑨 h) p ≑ (free-lift 𝑨 h) q
+  Ξ³ : (free-lift 𝑨 h) p ≑ (free-lift 𝑨 h) q
   Ξ³ = ((ψlemma0 p q) Ξ½) 𝑨 skA h
 
 
@@ -236,7 +236,7 @@ It turns out that the homomorphism so defined is equivalent to `hom𝔽`.
 
 
 
- hom𝔽-is-lift-hom : βˆ€ p β†’ ∣ 𝔑 ∣ p ≑ ∣ hom𝔽 ∣ p
+ hom𝔽-is-lift-hom : βˆ€ p β†’ ∣ 𝔑 ∣ p ≑ ∣ hom𝔽 ∣ p
  hom𝔽-is-lift-hom (β„Š x) = refl
  hom𝔽-is-lift-hom (node 𝑓 𝒕) =
   ∣ 𝔑 ∣ (node 𝑓 𝒕)              β‰‘βŸ¨ βˆ₯ 𝔑 βˆ₯ 𝑓 𝒕 ⟩
@@ -251,7 +251,7 @@ We need a three more lemmas before we are ready to tackle our main goal.
 
 
  ψlemma1 : kernel ∣ 𝔑 ∣ βŠ† ψ 𝒦
- ψlemma1 {p , q} 𝔑pq 𝑨 sA h = Ξ³
+ ψlemma1 {p , q} 𝔑pq 𝑨 sA h = Ξ³
   where
    f : hom 𝔽 𝑨
    f = 𝔽-lift-hom 𝑨 sA h
@@ -260,10 +260,10 @@ We need a three more lemmas before we are ready to tackle our main goal.
    h' = ∘-hom (𝑻 X) 𝑨 𝔑 f
    Ο† = lift-hom 𝑨 h
 
-   h≑φ : βˆ€ t β†’ (∣ f ∣ ∘ ∣ 𝔑 ∣) t ≑ ∣ Ο† ∣ t
+   h≑φ : βˆ€ t β†’ (∣ f ∣ ∘ ∣ 𝔑 ∣) t ≑ ∣ Ο† ∣ t
    h≑φ t = free-unique (fe π“₯ 𝓀) 𝑨 h' Ο† (Ξ» x β†’ refl) t
 
-   Ξ³ : ∣ Ο† ∣ p ≑ ∣ Ο† ∣ q
+   Ξ³ : ∣ Ο† ∣ p ≑ ∣ Ο† ∣ q
    Ξ³ = ∣ Ο† ∣ p             β‰‘βŸ¨ (h≑φ p)⁻¹ ⟩
        ∣ f ∣ ( ∣ 𝔑 ∣ p )   β‰‘βŸ¨ ap ∣ f ∣ 𝔑pq ⟩
        ∣ f ∣ ( ∣ 𝔑 ∣ q )   β‰‘βŸ¨ h≑φ q ⟩
@@ -271,16 +271,16 @@ We need a three more lemmas before we are ready to tackle our main goal.
 
 
  ψlemma2 : kernel ∣ hom𝔽 ∣ βŠ† ψ 𝒦
- ψlemma2 {p , q} hyp = ψlemma1 {p , q} γ
+ ψlemma2 {p , q} hyp = ψlemma1 {p , q} γ
    where
-    Ξ³ : (free-lift 𝔽 Xβ†ͺ𝔽) p ≑ (free-lift 𝔽 Xβ†ͺ𝔽) q
+    Ξ³ : (free-lift 𝔽 Xβ†ͺ𝔽) p ≑ (free-lift 𝔽 Xβ†ͺ𝔽) q
     Ξ³ = (hom𝔽-is-lift-hom p) βˆ™ hyp βˆ™ (hom𝔽-is-lift-hom q)⁻¹
 
 
- ψlemma3 : βˆ€ p q β†’ (p , q) ∈ ψ 𝒦 β†’ 𝒦 ⊧ p ≋ q
+ ψlemma3 : βˆ€ p q β†’ (p , q) ∈ ψ 𝒦 β†’ 𝒦 ⊧ p ≋ q
  ψlemma3 p q pψq {𝑨} kA = Ξ³
    where
-   Ξ³ : 𝑨 ⟦ p ⟧ ≑ 𝑨 ⟦ q ⟧
+   Ξ³ : 𝑨 ⟦ p ⟧ ≑ 𝑨 ⟦ q ⟧
    Ξ³ = fe 𝓀 𝓀 Ξ» h β†’ (𝑨 ⟦ p ⟧) h    β‰‘βŸ¨ free-lift-interp (fe π“₯ 𝓀) 𝑨 h p ⟩
                  (free-lift 𝑨 h) p β‰‘βŸ¨ pψq 𝑨 (siso (sbase kA) (β‰…-sym Lift-β‰…)) h ⟩
                  (free-lift 𝑨 h) q β‰‘βŸ¨ (free-lift-interp (fe π“₯ 𝓀) 𝑨 h q)⁻¹  ⟩
@@ -292,24 +292,24 @@ With these results in hand, it is now trivial to prove the main theorem of this
 
 
 
- class-models-kernel : βˆ€ p q β†’ (p , q) ∈ kernel ∣ hom𝔽 ∣ β†’ 𝒦 ⊧ p ≋ q
+ class-models-kernel : βˆ€ p q β†’ (p , q) ∈ kernel ∣ hom𝔽 ∣ β†’ 𝒦 ⊧ p ≋ q
  class-models-kernel p q hyp = ψlemma3 p q (ψlemma2 hyp)
 
 
 
- 𝕍𝒦 : Pred (Algebra 𝓕⁺ 𝑆) (𝓕⁺ ⁺)
+ 𝕍𝒦 : Pred (Algebra 𝓕⁺ 𝑆) (𝓕⁺ ⁺)
  𝕍𝒦 = V{𝓀}{𝓕⁺} 𝒦
 
  kernel-in-theory : kernel ∣ hom𝔽 ∣ βŠ† Th (V 𝒦)
- kernel-in-theory {p , q} pKq = (class-ids-β‡’ {fe = fe} p q (class-models-kernel p q pKq))
+ kernel-in-theory {p , q} pKq = (class-ids-β‡’ {fe = fe} p q (class-models-kernel p q pKq))
 
  _β† _ : 𝓀 Μ‡ β†’ Algebra 𝓕⁺ 𝑆 β†’ 𝓕⁺ Μ‡
  X β†  𝑨 = Ξ£ h κž‰ (X β†’ ∣ 𝑨 ∣) , Epic h
 
  𝔽-ModTh-epi : (𝑨 : Algebra 𝓕⁺ 𝑆) β†’ (X β†  𝑨) β†’ 𝑨 ∈ Mod (Th 𝕍𝒦) β†’ epi 𝔽 𝑨
- 𝔽-ModTh-epi 𝑨 (Ξ· , Ξ·E) AinMTV = Ξ³
+ 𝔽-ModTh-epi 𝑨 (Ξ· , Ξ·E) AinMTV = Ξ³
   where
   Ο† : hom (𝑻 X) 𝑨
   Ο† = lift-hom 𝑨 Ξ·
@@ -317,11 +317,11 @@ With these results in hand, it is now trivial to prove the main theorem of this
   Ο†E : Epic ∣ Ο† ∣
   Ο†E = lift-of-epi-is-epi Ξ·E
 
-  pqlem2 : βˆ€ p q β†’ (p , q) ∈ kernel ∣ hom𝔽 ∣ β†’ 𝑨 ⊧ p β‰ˆ q
+  pqlem2 : βˆ€ p q β†’ (p , q) ∈ kernel ∣ hom𝔽 ∣ β†’ 𝑨 ⊧ p β‰ˆ q
   pqlem2 p q hyp = AinMTV p q (kernel-in-theory hyp)
 
   kerincl : kernel ∣ hom𝔽 ∣ βŠ† kernel ∣ Ο† ∣
-  kerincl {p , q} x = ∣ Ο† ∣ p      β‰‘βŸ¨ (free-lift-interp (fe π“₯ 𝓕⁺) 𝑨 Ξ· p)⁻¹ ⟩
+  kerincl {p , q} x = ∣ Ο† ∣ p      β‰‘βŸ¨ (free-lift-interp (fe π“₯ 𝓕⁺) 𝑨 Ξ· p)⁻¹ ⟩
                       (𝑨 ⟦ p ⟧) Ξ·  β‰‘βŸ¨ happly (pqlem2 p q x) Ξ·  ⟩
                       (𝑨 ⟦ q ⟧) Ξ·  β‰‘βŸ¨ free-lift-interp (fe π“₯ 𝓕⁺) 𝑨 Ξ· q ⟩
                       ∣ Ο† ∣ q      ∎
@@ -345,7 +345,7 @@ Finally we come to one of the main theorems of this module; it asserts that ever
           (pe : pred-ext (ov 𝓀)(ov 𝓀))
 
           -- truncation assumptions:
-          (Cset : is-set ∣ β„­ ∣)
+          (Cset : is-set ∣ β„­ ∣)
           (Keruip : blk-uip (Term X) ∣ kercon β„­ {fe π“₯ 𝓕} homβ„­ ∣)
 
   where
@@ -372,10 +372,10 @@ With this result in hand, along with what we proved earlier---namely, `PS(𝒦)
 
   open Vlift {𝓀}{fe 𝓕 𝓀}{fe 𝓕⁺ 𝓕⁺}{fe 𝓕 𝓕}{𝒦}
 
-  π”½βˆˆSP : hfunext (ov 𝓀)(ov 𝓀) β†’ 𝔽 ∈ (S{𝓕}{𝓕⁺} (P{𝓀}{𝓕} 𝒦))
+  π”½βˆˆSP : hfunext (ov 𝓀)(ov 𝓀) β†’ 𝔽 ∈ (S{𝓕}{𝓕⁺} (P{𝓀}{𝓕} 𝒦))
   π”½βˆˆSP hfe = ssub (class-prod-s-∈-sp hfe) 𝔽≀ℭ
 
-  π”½βˆˆπ• : hfunext (ov 𝓀)(ov 𝓀) β†’ 𝔽 ∈ V 𝒦
+  π”½βˆˆπ• : hfunext (ov 𝓀)(ov 𝓀) β†’ 𝔽 ∈ V 𝒦
   π”½βˆˆπ• hfe = SPβŠ†V' (π”½βˆˆSP hfe)
 
 
@@ -386,12 +386,12 @@ Now that we have all of the necessary ingredients, it is all but trivial to comb
 
-  Birkhoff : hfunext (ov 𝓀)(ov 𝓀) β†’ (βˆ€ 𝑨 β†’ X β†  𝑨) β†’ Mod (Th (V 𝒦)) βŠ† V 𝒦
+  Birkhoff : hfunext (ov 𝓀)(ov 𝓀) β†’ (βˆ€ 𝑨 β†’ X β†  𝑨) β†’ Mod (Th (V 𝒦)) βŠ† V 𝒦
 
   Birkhoff hfe 𝕏 {𝑨} Ξ± = Ξ³
    where
    Ξ³ : 𝑨 ∈ (V 𝒦)
-   Ξ³ = vhimg (π”½βˆˆπ• hfe) ((𝑨 , 𝔽-ModTh-epi 𝑨 (𝕏 𝑨) Ξ± ) , β‰…-refl)
+   Ξ³ = vhimg (π”½βˆˆπ• hfe) ((𝑨 , 𝔽-ModTh-epi 𝑨 (𝕏 𝑨) Ξ± ) , β‰…-refl)
 
 
diff --git a/UALib/html/Varieties.Preservation.md b/UALib/html/Varieties.Preservation.md index 4b033918..958980fc 100644 --- a/UALib/html/Varieties.Preservation.md +++ b/UALib/html/Varieties.Preservation.md @@ -15,16 +15,16 @@ This section presents the [Varieties.Preservation][] module of the [Agda Univers {-# OPTIONS --without-K --exact-split --safe #-} open import Algebras.Signatures using (Signature; π“ž; π“₯) -open import Universes using (Universe; _Μ‡) +open import Universes using (Universe; _Μ‡) -module Varieties.Preservation {𝑆 : Signature π“ž π“₯} {𝓀 𝓧 : Universe}{X : 𝓧 Μ‡} where +module Varieties.Preservation {𝑆 : Signature π“ž π“₯} {𝓀 𝓧 : Universe}{X : 𝓧 Μ‡} where open import Varieties.Varieties {𝑆 = 𝑆}{𝓧}{X} public -𝓕 𝓕⁺ 𝓾𝔁 : Universe +𝓕 𝓕⁺ 𝓾𝔁 : Universe 𝓕 = ov 𝓀 -𝓕⁺ = (ov 𝓀) ⁺ -- (this will be the level of the relatively free algebra) -𝓾𝔁 = 𝓀 βŠ” 𝓧 +𝓕⁺ = (ov 𝓀) ⁺ -- (this will be the level of the relatively free algebra) +𝓾𝔁 = 𝓀 βŠ” 𝓧
@@ -42,7 +42,7 @@ First we prove that the closure operator H is compatible with identities that ho H-id1 p q Ξ± (hbase x) = ⊧-Lift-invar fe p q (Ξ± x) H-id1 p q Ξ± (hlift{𝑨} x) = ⊧-Lift-invar fe p q (H-id1 p q Ξ± x) - H-id1 p q Ξ± (hhimg{𝑨}{π‘ͺ} HA((𝑩 , Ο• , (Ο•hom , Ο•sur)), Bβ‰…C)) = ⊧-I-invar fe π‘ͺ p q Ξ³ Bβ‰…C + H-id1 p q Ξ± (hhimg{𝑨}{π‘ͺ} HA((𝑩 , Ο• , (Ο•hom , Ο•sur)), Bβ‰…C)) = ⊧-I-invar fe π‘ͺ p q Ξ³ Bβ‰…C where Ξ² : 𝑨 ⊧ p β‰ˆ q Ξ² = (H-id1 p q Ξ±) HA @@ -50,14 +50,14 @@ First we prove that the closure operator H is compatible with identities that ho preim : βˆ€ 𝒃 x β†’ ∣ 𝑨 ∣ preim 𝒃 x = Inv Ο• (Ο•sur (𝒃 x)) - ΞΆ : βˆ€ 𝒃 β†’ Ο• ∘ (preim 𝒃) ≑ 𝒃 + ΞΆ : βˆ€ 𝒃 β†’ Ο• ∘ (preim 𝒃) ≑ 𝒃 ΞΆ 𝒃 = (fe 𝓧 𝓀) Ξ» x β†’ InvIsInv Ο• (Ο•sur (𝒃 x)) - Ξ³ : 𝑩 ⟦ p ⟧ ≑ 𝑩 ⟦ q ⟧ + Ξ³ : 𝑩 ⟦ p ⟧ ≑ 𝑩 ⟦ q ⟧ Ξ³ = (fe 𝓾𝔁 𝓀) Ξ» 𝒃 β†’ (𝑩 ⟦ p ⟧) 𝒃 β‰‘βŸ¨ (ap (𝑩 ⟦ p ⟧) (ΞΆ 𝒃))⁻¹ ⟩ - (𝑩 ⟦ p ⟧)(Ο• ∘(preim 𝒃)) β‰‘βŸ¨(comm-hom-term (fe π“₯ 𝓀) 𝑩(Ο• , Ο•hom) p(preim 𝒃))⁻¹ ⟩ + (𝑩 ⟦ p ⟧)(Ο• ∘(preim 𝒃)) β‰‘βŸ¨(comm-hom-term (fe π“₯ 𝓀) 𝑩(Ο• , Ο•hom) p(preim 𝒃))⁻¹ ⟩ Ο•((𝑨 ⟦ p ⟧)(preim 𝒃)) β‰‘βŸ¨ ap Ο• (happly Ξ² (preim 𝒃)) ⟩ - Ο•((𝑨 ⟦ q ⟧)(preim 𝒃)) β‰‘βŸ¨ comm-hom-term (fe π“₯ 𝓀) 𝑩 (Ο• , Ο•hom) q (preim 𝒃) ⟩ + Ο•((𝑨 ⟦ q ⟧)(preim 𝒃)) β‰‘βŸ¨ comm-hom-term (fe π“₯ 𝓀) 𝑩 (Ο• , Ο•hom) q (preim 𝒃) ⟩ (𝑩 ⟦ q ⟧)(Ο• ∘(preim 𝒃)) β‰‘βŸ¨ ap (𝑩 ⟦ q ⟧) (ΞΆ 𝒃) ⟩ (𝑩 ⟦ q ⟧) 𝒃 ∎ @@ -86,7 +86,7 @@ The converse of the foregoing result is almost too obvious to bother with. Nonet S-id1 p q Ξ± (slift x) = ⊧-Lift-invar fe p q ((S-id1 p q Ξ±) x) S-id1 p q Ξ± (ssub{𝑨}{𝑩} sA B≀A) = - ⊧-S-class-invar fe p q Ξ³ (𝑩 , 𝑨 , (𝑩 , B≀A) , injβ‚‚ refl , β‰…-refl) + ⊧-S-class-invar fe p q Ξ³ (𝑩 , 𝑨 , (𝑩 , B≀A) , injβ‚‚ refl , β‰…-refl) where --Apply S-⊧ to the class 𝒦 βˆͺ ο½› 𝑨 } Ξ² : 𝑨 ⊧ p β‰ˆ q Ξ² = S-id1 p q Ξ± sA @@ -99,7 +99,7 @@ The converse of the foregoing result is almost too obvious to bother with. Nonet Ξ³ {𝑩} (injβ‚‚ y) = Apq y S-id1 p q Ξ± (ssubw{𝑨}{𝑩} sA B≀A) = - ⊧-S-class-invar fe p q Ξ³ (𝑩 , 𝑨 , (𝑩 , B≀A) , injβ‚‚ refl , β‰…-refl) + ⊧-S-class-invar fe p q Ξ³ (𝑩 , 𝑨 , (𝑩 , B≀A) , injβ‚‚ refl , β‰…-refl) where --Apply S-⊧ to the class 𝒦 βˆͺ ο½› 𝑨 } Ξ² : 𝑨 ⊧ p β‰ˆ q Ξ² = S-id1 p q Ξ± sA @@ -138,12 +138,12 @@ Again, the obvious converse is barely worth the bits needed to formalize it. P-id1 p q Ξ± (produ{I}{π’œ} x) = ⊧-P-lift-invar I π’œ fe {p}{q} IH where - IH : βˆ€ i β†’ (Lift-alg (π’œ i) 𝓀) ⟦ p ⟧ ≑ (Lift-alg (π’œ i) 𝓀) ⟦ q ⟧ + IH : βˆ€ i β†’ (Lift-alg (π’œ i) 𝓀) ⟦ p ⟧ ≑ (Lift-alg (π’œ i) 𝓀) ⟦ q ⟧ IH i = ⊧-Lift-invar fe p q ((P-id1 p q Ξ±) (x i)) P-id1 p q Ξ± (prodw{I}{π’œ} x) = ⊧-P-lift-invar I π’œ fe {p}{q}IH where - IH : βˆ€ i β†’ Lift-alg (π’œ i) 𝓀 ⟦ p ⟧ ≑ Lift-alg (π’œ i) 𝓀 ⟦ q ⟧ + IH : βˆ€ i β†’ Lift-alg (π’œ i) 𝓀 ⟦ p ⟧ ≑ Lift-alg (π’œ i) 𝓀 ⟦ q ⟧ IH i = ⊧-Lift-invar fe p q ((P-id1 p q Ξ±) (x i)) P-id1 p q Ξ± (pisou{𝑨}{𝑩} x x₁) = ⊧-I-invar fe 𝑩 p q (P-id1 p q Ξ± x) x₁ @@ -172,7 +172,7 @@ Finally, we prove the analogous preservation lemmas for the closure operator `V` V-id1 p q Ξ± (vlift{𝑨} x) = ⊧-Lift-invar fe p q ((V-id1 p q Ξ±) x) V-id1 p q Ξ± (vliftw{𝑨} x) = ⊧-Lift-invar fe p q ((V-id1 p q Ξ±) x) - V-id1 p q Ξ± (vhimg{𝑨}{π‘ͺ}VA((𝑩 , Ο• , (Ο•h , Ο•E)) , Bβ‰…C)) = ⊧-I-invar fe π‘ͺ p q Ξ³ Bβ‰…C + V-id1 p q Ξ± (vhimg{𝑨}{π‘ͺ}VA((𝑩 , Ο• , (Ο•h , Ο•E)) , Bβ‰…C)) = ⊧-I-invar fe π‘ͺ p q Ξ³ Bβ‰…C where IH : 𝑨 ⊧ p β‰ˆ q IH = V-id1 p q Ξ± VA @@ -180,18 +180,18 @@ Finally, we prove the analogous preservation lemmas for the closure operator `V` preim : βˆ€ 𝒃 (x : X) β†’ ∣ 𝑨 ∣ preim 𝒃 x = (Inv Ο• (Ο•E (𝒃 x))) - ΞΆ : βˆ€ 𝒃 β†’ Ο• ∘ (preim 𝒃) ≑ 𝒃 + ΞΆ : βˆ€ 𝒃 β†’ Ο• ∘ (preim 𝒃) ≑ 𝒃 ΞΆ 𝒃 = (fe 𝓧 𝓀) Ξ» x β†’ InvIsInv Ο• (Ο•E (𝒃 x)) - Ξ³ : (𝑩 ⟦ p ⟧) ≑ (𝑩 ⟦ q ⟧) + Ξ³ : (𝑩 ⟦ p ⟧) ≑ (𝑩 ⟦ q ⟧) Ξ³ = (fe 𝓾𝔁 𝓀) Ξ» 𝒃 β†’ (𝑩 ⟦ p ⟧) 𝒃 β‰‘βŸ¨ (ap (𝑩 ⟦ p ⟧) (ΞΆ 𝒃))⁻¹ ⟩ - (𝑩 ⟦ p ⟧)(Ο• ∘(preim 𝒃)) β‰‘βŸ¨(comm-hom-term (fe π“₯ 𝓀) 𝑩(Ο• , Ο•h) p(preim 𝒃))⁻¹ ⟩ + (𝑩 ⟦ p ⟧)(Ο• ∘(preim 𝒃)) β‰‘βŸ¨(comm-hom-term (fe π“₯ 𝓀) 𝑩(Ο• , Ο•h) p(preim 𝒃))⁻¹ ⟩ Ο• ((𝑨 ⟦ p ⟧)(preim 𝒃)) β‰‘βŸ¨ ap Ο• (happly IH (preim 𝒃)) ⟩ - Ο• ((𝑨 ⟦ q ⟧)(preim 𝒃)) β‰‘βŸ¨ comm-hom-term (fe π“₯ 𝓀) 𝑩 (Ο• , Ο•h) q (preim 𝒃) ⟩ + Ο• ((𝑨 ⟦ q ⟧)(preim 𝒃)) β‰‘βŸ¨ comm-hom-term (fe π“₯ 𝓀) 𝑩 (Ο• , Ο•h) q (preim 𝒃) ⟩ (𝑩 ⟦ q ⟧)(Ο• ∘(preim 𝒃)) β‰‘βŸ¨ ap (𝑩 ⟦ q ⟧) (ΞΆ 𝒃) ⟩ (𝑩 ⟦ q ⟧) 𝒃 ∎ - V-id1 p q Ξ± (vssub {𝑨}{𝑩} VA B≀A) = ⊧-S-class-invar fe p q Ξ³ (𝑩 , 𝑨 , (𝑩 , B≀A) , injβ‚‚ refl , β‰…-refl) + V-id1 p q Ξ± (vssub {𝑨}{𝑩} VA B≀A) = ⊧-S-class-invar fe p q Ξ³ (𝑩 , 𝑨 , (𝑩 , B≀A) , injβ‚‚ refl , β‰…-refl) where IH : 𝑨 ⊧ p β‰ˆ q IH = V-id1 p q Ξ± VA @@ -204,7 +204,7 @@ Finally, we prove the analogous preservation lemmas for the closure operator `V` Ξ³ {𝑩} (injβ‚‚ y) = Asinglepq y V-id1 p q Ξ± ( vssubw {𝑨}{𝑩} VA B≀A ) = - ⊧-S-class-invar fe p q Ξ³ (𝑩 , 𝑨 , (𝑩 , B≀A) , injβ‚‚ refl , β‰…-refl) + ⊧-S-class-invar fe p q Ξ³ (𝑩 , 𝑨 , (𝑩 , B≀A) , injβ‚‚ refl , β‰…-refl) where IH : 𝑨 ⊧ p β‰ˆ q IH = V-id1 p q Ξ± VA @@ -227,13 +227,13 @@ Finally, we prove the analogous preservation lemmas for the closure operator `V` -- open id1 {𝓀}{X}{(fe 𝓀 𝓀) = fe 𝓀 𝓀}{(fe π“₯ 𝓀) = fe π“₯ 𝓀} - V-id1' : (p q : Term X) β†’ 𝒦 ⊧ p ≋ q β†’ V{𝓀}{ov 𝓀 ⁺} 𝒦 ⊧ p ≋ q + V-id1' : (p q : Term X) β†’ 𝒦 ⊧ p ≋ q β†’ V{𝓀}{ov 𝓀 ⁺} 𝒦 ⊧ p ≋ q V-id1' p q Ξ± (vbase x) = ⊧-Lift-invar fe p q (Ξ± x) V-id1' p q Ξ± (vlift{𝑨} x) = ⊧-Lift-invar fe p q ((V-id1 p q Ξ±) x) V-id1' p q Ξ± (vliftw{𝑨} x) = ⊧-Lift-invar fe p q ((V-id1' p q Ξ±) x) - V-id1' p q Ξ± (vhimg{𝑨}{π‘ͺ} VA ((𝑩 , Ο• , (Ο•h , Ο•E)) , Bβ‰…C)) = + V-id1' p q Ξ± (vhimg{𝑨}{π‘ͺ} VA ((𝑩 , Ο• , (Ο•h , Ο•E)) , Bβ‰…C)) = ⊧-I-invar fe π‘ͺ p q Ξ³ Bβ‰…C where IH : 𝑨 ⊧ p β‰ˆ q @@ -242,14 +242,14 @@ Finally, we prove the analogous preservation lemmas for the closure operator `V` preim : βˆ€ 𝒃 x β†’ ∣ 𝑨 ∣ preim 𝒃 x = (Inv Ο• (Ο•E (𝒃 x))) - ΞΆ : βˆ€ 𝒃 β†’ Ο• ∘ (preim 𝒃) ≑ 𝒃 + ΞΆ : βˆ€ 𝒃 β†’ Ο• ∘ (preim 𝒃) ≑ 𝒃 ΞΆ 𝒃 = (fe 𝓧 𝓕⁺) Ξ» x β†’ InvIsInv Ο• (Ο•E (𝒃 x)) - Ξ³ : 𝑩 ⟦ p ⟧ ≑ 𝑩 ⟦ q ⟧ - Ξ³ = (fe (𝓧 βŠ” 𝓕⁺) 𝓕⁺) Ξ» 𝒃 β†’ (𝑩 ⟦ p ⟧) 𝒃 β‰‘βŸ¨ (ap (𝑩 ⟦ p ⟧) (ΞΆ 𝒃))⁻¹ ⟩ - (𝑩 ⟦ p ⟧) (Ο• ∘ (preim 𝒃)) β‰‘βŸ¨(comm-hom-term (fe π“₯ 𝓕⁺) 𝑩 (Ο• , Ο•h) p (preim 𝒃))⁻¹ ⟩ + Ξ³ : 𝑩 ⟦ p ⟧ ≑ 𝑩 ⟦ q ⟧ + Ξ³ = (fe (𝓧 βŠ” 𝓕⁺) 𝓕⁺) Ξ» 𝒃 β†’ (𝑩 ⟦ p ⟧) 𝒃 β‰‘βŸ¨ (ap (𝑩 ⟦ p ⟧) (ΞΆ 𝒃))⁻¹ ⟩ + (𝑩 ⟦ p ⟧) (Ο• ∘ (preim 𝒃)) β‰‘βŸ¨(comm-hom-term (fe π“₯ 𝓕⁺) 𝑩 (Ο• , Ο•h) p (preim 𝒃))⁻¹ ⟩ Ο•((𝑨 ⟦ p ⟧)(preim 𝒃)) β‰‘βŸ¨ ap Ο• (happly IH (preim 𝒃))⟩ - Ο•((𝑨 ⟦ q ⟧)(preim 𝒃)) β‰‘βŸ¨ comm-hom-term (fe π“₯ 𝓕⁺) 𝑩 (Ο• , Ο•h) q (preim 𝒃)⟩ + Ο•((𝑨 ⟦ q ⟧)(preim 𝒃)) β‰‘βŸ¨ comm-hom-term (fe π“₯ 𝓕⁺) 𝑩 (Ο• , Ο•h) q (preim 𝒃)⟩ (𝑩 ⟦ q ⟧)(Ο• ∘ (preim 𝒃)) β‰‘βŸ¨ ap (𝑩 ⟦ q ⟧) (ΞΆ 𝒃)⟩ (𝑩 ⟦ q ⟧) 𝒃 ∎ @@ -269,19 +269,19 @@ From `V-id1` it follows that if 𝒦 is a class of structures, then the set of i
 
- 𝒱 : Pred (Algebra (ov 𝓀 ⁺) 𝑆) (ov 𝓀 ⁺ ⁺)
- 𝒱 = V{𝓀}{ov 𝓀 ⁺} 𝒦
+ 𝒱 : Pred (Algebra (ov 𝓀 ⁺) 𝑆) (ov 𝓀 ⁺ ⁺)
+ 𝒱 = V{𝓀}{ov 𝓀 ⁺} 𝒦
 
- class-ids-β‡’ : (p q : ∣ 𝑻 X ∣) β†’ 𝒦 ⊧ p ≋ q  β†’  (p , q) ∈ Th 𝒱
+ class-ids-β‡’ : (p q : ∣ 𝑻 X ∣) β†’ 𝒦 ⊧ p ≋ q  β†’  (p , q) ∈ Th 𝒱
  class-ids-β‡’ p q pKq VCloA = V-id1' p q pKq VCloA
 
 
- class-ids-⇐ : (p q : ∣ 𝑻 X ∣) β†’ (p , q) ∈ Th 𝒱 β†’  𝒦 ⊧ p ≋ q
+ class-ids-⇐ : (p q : ∣ 𝑻 X ∣) β†’ (p , q) ∈ Th 𝒱 β†’  𝒦 ⊧ p ≋ q
  class-ids-⇐ p q Thpq {𝑨} KA = ⊧-lower-invar fe p q (Thpq (vbase KA))
 
 
- class-identities : (p q : ∣ 𝑻 X ∣) β†’ 𝒦 ⊧ p ≋ q  ⇔  ((p , q) ∈ Th 𝒱)
- class-identities p q = class-ids-β‡’ p q , class-ids-⇐ p q
+ class-identities : (p q : ∣ 𝑻 X ∣) β†’ 𝒦 ⊧ p ≋ q  ⇔  ((p , q) ∈ Th 𝒱)
+ class-identities p q = class-ids-β‡’ p q , class-ids-⇐ p q
 
 
@@ -290,7 +290,7 @@ Once again, and for the last time, completeness dictates that we formalize the c
 
-module _ {𝓦 : Universe}{𝒦 : Pred (Algebra 𝓀 𝑆)(ov 𝓀)} where
+module _ {𝓦 : Universe}{𝒦 : Pred (Algebra 𝓀 𝑆)(ov 𝓀)} where
 
  V-id2 : DFunExt β†’ (p q : Term X) β†’ (V{𝓀}{𝓦} 𝒦 ⊧ p ≋ q) β†’ (𝒦 ⊧ p ≋ q)
  V-id2 fe p q Vpq {𝑨} KA = ⊧-lower-invar fe p q (Vpq (vbase KA))
diff --git a/UALib/html/Varieties.Varieties.md b/UALib/html/Varieties.Varieties.md
index fbb85cda..caf641a8 100644
--- a/UALib/html/Varieties.Varieties.md
+++ b/UALib/html/Varieties.Varieties.md
@@ -14,9 +14,9 @@ This section presents the [Varieties.Varieties][] module of the [Agda Universal
 {-# OPTIONS --without-K --exact-split --safe #-}
 
 open import Algebras.Signatures using (Signature; π“ž; π“₯)
-open import Universes using (Universe; _Μ‡)
+open import Universes using (Universe; _Μ‡)
 
-module Varieties.Varieties {𝑆 : Signature π“ž π“₯}{𝓧 : Universe}{X : 𝓧 Μ‡} where
+module Varieties.Varieties {𝑆 : Signature π“ž π“₯}{𝓧 : Universe}{X : 𝓧 Μ‡} where
 
 open import Varieties.EquationalLogic {𝑆 = 𝑆}{𝓧}{X} public
 
@@ -44,7 +44,7 @@ We define the inductive type `H` to represent classes of algebras that include a
 
 
 
-data H {𝓀 𝓦 : Universe}(𝒦 : Pred(Algebra 𝓀 𝑆)(ov 𝓀)) : Pred (Algebra (𝓀 βŠ” 𝓦) 𝑆)(ov(𝓀 βŠ” 𝓦))
+data H {𝓀 𝓦 : Universe}(𝒦 : Pred(Algebra 𝓀 𝑆)(ov 𝓀)) : Pred (Algebra (𝓀 βŠ” 𝓦) 𝑆)(ov(𝓀 βŠ” 𝓦))
  where
  hbase : {𝑨 : Algebra 𝓀 𝑆} β†’ 𝑨 ∈ 𝒦 β†’ Lift-alg 𝑨 𝓦 ∈ H 𝒦
  hlift : {𝑨 : Algebra 𝓀 𝑆} β†’ 𝑨 ∈ H{𝓀}{𝓀} 𝒦 β†’ Lift-alg 𝑨 𝓦 ∈ H 𝒦
@@ -61,7 +61,7 @@ The most useful inductive type that we have found for representing the semantic
 
 
 
-data S {𝓀 𝓦 : Universe}(𝒦 : Pred(Algebra 𝓀 𝑆)(ov 𝓀)) : Pred(Algebra(𝓀 βŠ” 𝓦)𝑆)(ov(𝓀 βŠ” 𝓦))
+data S {𝓀 𝓦 : Universe}(𝒦 : Pred(Algebra 𝓀 𝑆)(ov 𝓀)) : Pred(Algebra(𝓀 βŠ” 𝓦)𝑆)(ov(𝓀 βŠ” 𝓦))
  where
  sbase : {𝑨 : Algebra 𝓀 𝑆} β†’ 𝑨 ∈ 𝒦 β†’ Lift-alg 𝑨 𝓦 ∈ S 𝒦
  slift : {𝑨 : Algebra 𝓀 𝑆} β†’ 𝑨 ∈ S{𝓀}{𝓀} 𝒦 β†’ Lift-alg 𝑨 𝓦 ∈ S 𝒦
@@ -79,11 +79,11 @@ The most useful inductive type that we have found for representing the semantic
 
 
 
-data P {𝓀 𝓦 : Universe}(𝒦 : Pred(Algebra 𝓀 𝑆)(ov 𝓀)) : Pred(Algebra(𝓀 βŠ” 𝓦)𝑆)(ov(𝓀 βŠ” 𝓦))
+data P {𝓀 𝓦 : Universe}(𝒦 : Pred(Algebra 𝓀 𝑆)(ov 𝓀)) : Pred(Algebra(𝓀 βŠ” 𝓦)𝑆)(ov(𝓀 βŠ” 𝓦))
  where
  pbase  : {𝑨 : Algebra 𝓀 𝑆} β†’ 𝑨 ∈ 𝒦 β†’ Lift-alg 𝑨 𝓦 ∈ P 𝒦
  pliftu : {𝑨 : Algebra 𝓀 𝑆} β†’ 𝑨 ∈ P{𝓀}{𝓀} 𝒦 β†’ Lift-alg 𝑨 𝓦 ∈ P 𝒦
- pliftw : {𝑨 : Algebra (𝓀 βŠ” 𝓦) 𝑆} β†’ 𝑨 ∈ P{𝓀}{𝓦} 𝒦 β†’ Lift-alg 𝑨 (𝓀 βŠ” 𝓦) ∈ P 𝒦
+ pliftw : {𝑨 : Algebra (𝓀 βŠ” 𝓦) 𝑆} β†’ 𝑨 ∈ P{𝓀}{𝓦} 𝒦 β†’ Lift-alg 𝑨 (𝓀 βŠ” 𝓦) ∈ P 𝒦
  produ  : {I : 𝓦 Μ‡ }{π’œ : I β†’ Algebra 𝓀 𝑆} β†’ (βˆ€ i β†’ (π’œ i) ∈ P{𝓀}{𝓀} 𝒦) β†’ β¨… π’œ ∈ P 𝒦
  prodw  : {I : 𝓦 Μ‡ }{π’œ : I β†’ Algebra _ 𝑆} β†’ (βˆ€ i β†’ (π’œ i) ∈ P{𝓀}{𝓦} 𝒦) β†’ β¨… π’œ ∈ P 𝒦
  pisou  : {𝑨 : Algebra 𝓀 𝑆}{𝑩 : Algebra _ 𝑆} β†’ 𝑨 ∈ P{𝓀}{𝓀} 𝒦 β†’ 𝑨 β‰… 𝑩 β†’ 𝑩 ∈ P 𝒦
@@ -101,11 +101,11 @@ We now define `V` as an inductive type.
 
 
 
-data V {𝓀 𝓦 : Universe}(𝒦 : Pred(Algebra 𝓀 𝑆)(ov 𝓀)) : Pred(Algebra(𝓀 βŠ” 𝓦)𝑆)(ov(𝓀 βŠ” 𝓦))
+data V {𝓀 𝓦 : Universe}(𝒦 : Pred(Algebra 𝓀 𝑆)(ov 𝓀)) : Pred(Algebra(𝓀 βŠ” 𝓦)𝑆)(ov(𝓀 βŠ” 𝓦))
  where
  vbase  : {𝑨 : Algebra 𝓀 𝑆} β†’ 𝑨 ∈ 𝒦 β†’ Lift-alg 𝑨 𝓦 ∈ V 𝒦
  vlift  : {𝑨 : Algebra 𝓀 𝑆} β†’ 𝑨 ∈ V{𝓀}{𝓀} 𝒦 β†’ Lift-alg 𝑨 𝓦 ∈ V 𝒦
- vliftw : {𝑨 : Algebra _ 𝑆} β†’ 𝑨 ∈ V{𝓀}{𝓦} 𝒦 β†’ Lift-alg 𝑨 (𝓀 βŠ” 𝓦) ∈ V 𝒦
+ vliftw : {𝑨 : Algebra _ 𝑆} β†’ 𝑨 ∈ V{𝓀}{𝓦} 𝒦 β†’ Lift-alg 𝑨 (𝓀 βŠ” 𝓦) ∈ V 𝒦
  vhimg  : {𝑨 𝑩 : Algebra _ 𝑆} β†’ 𝑨 ∈ V{𝓀}{𝓦} 𝒦 β†’ 𝑩 is-hom-image-of 𝑨 β†’ 𝑩 ∈ V 𝒦
  vssub  : {𝑨 : Algebra 𝓀 𝑆}{𝑩 : Algebra _ 𝑆} β†’ 𝑨 ∈ V{𝓀}{𝓀} 𝒦 β†’ 𝑩 ≀ 𝑨 β†’ 𝑩 ∈ V 𝒦
  vssubw : {𝑨 𝑩 : Algebra _ 𝑆} β†’ 𝑨 ∈ V{𝓀}{𝓦} 𝒦 β†’ 𝑩 ≀ 𝑨 β†’ 𝑩 ∈ V 𝒦
@@ -122,10 +122,10 @@ With the closure operator V representing closure under HSP, we represent formall
 
 
 
-is-variety : {𝓀 : Universe}(𝒱 : Pred (Algebra 𝓀 𝑆)(ov 𝓀)) β†’ ov 𝓀 Μ‡
+is-variety : {𝓀 : Universe}(𝒱 : Pred (Algebra 𝓀 𝑆)(ov 𝓀)) β†’ ov 𝓀 Μ‡
 is-variety{𝓀} 𝒱 = V{𝓀}{𝓀} 𝒱 βŠ† 𝒱
 
-variety : (𝓀 : Universe) β†’ (ov 𝓀)⁺ Μ‡
+variety : (𝓀 : Universe) β†’ (ov 𝓀)⁺ Μ‡
 variety 𝓀 = Ξ£ 𝒱 κž‰ (Pred (Algebra 𝓀 𝑆)(ov 𝓀)) , is-variety 𝒱
 
 
@@ -140,7 +140,7 @@ First, `P` is a closure operator. This is proved by checking that `P` is *monot
 
-P-mono : {𝓀 𝓦 : Universe}{𝒦 𝒦' : Pred(Algebra 𝓀 𝑆)(ov 𝓀)}
+P-mono : {𝓀 𝓦 : Universe}{𝒦 𝒦' : Pred(Algebra 𝓀 𝑆)(ov 𝓀)}
  β†’       𝒦 βŠ† 𝒦' β†’ P{𝓀}{𝓦} 𝒦 βŠ† P{𝓀}{𝓦} 𝒦'
 
 P-mono kk' (pbase x)    = pbase (kk' x)
@@ -152,14 +152,14 @@ First, `P` is a closure operator.  This is proved by checking that `P` is *monot
 P-mono kk' (pisow x x₁) = pisow (P-mono kk' x) x₁
 
 
-P-expa : {𝓀 : Universe}{𝒦 : Pred (Algebra 𝓀 𝑆)(ov 𝓀)} β†’ 𝒦 βŠ† P{𝓀}{𝓀} 𝒦
+P-expa : {𝓀 : Universe}{𝒦 : Pred (Algebra 𝓀 𝑆)(ov 𝓀)} β†’ 𝒦 βŠ† P{𝓀}{𝓀} 𝒦
 P-expa{𝓀}{𝒦} {𝑨} KA = pisou{𝑨 = (Lift-alg 𝑨 𝓀)}{𝑩 = 𝑨} (pbase KA) (β‰…-sym Lift-β‰…)
 
 
-module _ {𝓀 𝓦 : Universe} where
+module _ {𝓀 𝓦 : Universe} where
 
  P-idemp : {𝒦 : Pred (Algebra 𝓀 𝑆)(ov 𝓀)}
-  β†’        P{𝓀 βŠ” 𝓦}{𝓀 βŠ” 𝓦} (P{𝓀}{𝓀 βŠ” 𝓦} 𝒦) βŠ† P{𝓀}{𝓀 βŠ” 𝓦} 𝒦
+  β†’        P{𝓀 βŠ” 𝓦}{𝓀 βŠ” 𝓦} (P{𝓀}{𝓀 βŠ” 𝓦} 𝒦) βŠ† P{𝓀}{𝓀 βŠ” 𝓦} 𝒦
 
  P-idemp (pbase x)    = pliftw x
  P-idemp (pliftu x)   = pliftw (P-idemp x)
@@ -175,7 +175,7 @@ Similarly, S is a closure operator.  The facts that S is idempotent and expansiv
 
 
 
-S-mono : {𝓀 𝓦 : Universe}{𝒦 𝒦' : Pred (Algebra 𝓀 𝑆)(ov 𝓀)}
+S-mono : {𝓀 𝓦 : Universe}{𝒦 𝒦' : Pred (Algebra 𝓀 𝑆)(ov 𝓀)}
  β†’       𝒦 βŠ† 𝒦' β†’ S{𝓀}{𝓦} 𝒦 βŠ† S{𝓀}{𝓦} 𝒦'
 
 S-mono kk' (sbase x)            = sbase (kk' x)
@@ -190,11 +190,11 @@ We sometimes want to go back and forth between our two representations of subalg
 
 
 
-module _ {𝓀 𝓦 : Universe}{𝒦 : Pred (Algebra 𝓀 𝑆)(ov 𝓀)} where
+module _ {𝓀 𝓦 : Universe}{𝒦 : Pred (Algebra 𝓀 𝑆)(ov 𝓀)} where
 
- subalgebraβ†’S : {𝑩 : Algebra (𝓀 βŠ” 𝓦) 𝑆} β†’ 𝑩 IsSubalgebraOfClass 𝒦 β†’ 𝑩 ∈ S{𝓀}{𝓦} 𝒦
+ subalgebraβ†’S : {𝑩 : Algebra (𝓀 βŠ” 𝓦) 𝑆} β†’ 𝑩 IsSubalgebraOfClass 𝒦 β†’ 𝑩 ∈ S{𝓀}{𝓦} 𝒦
 
- subalgebraβ†’S {𝑩} (𝑨 , ((π‘ͺ , C≀A) , KA , Bβ‰…C)) = ssub sA B≀A
+ subalgebraβ†’S {𝑩} (𝑨 , ((π‘ͺ , C≀A) , KA , Bβ‰…C)) = ssub sA B≀A
   where
    B≀A : 𝑩 ≀ 𝑨
    B≀A = ≀-iso 𝑨 Bβ‰…C C≀A
@@ -206,12 +206,12 @@ We sometimes want to go back and forth between our two representations of subalg
    sA = siso slAu (β‰…-sym Lift-β‰…)
 
 
-module _ {𝓀 : Universe}{𝒦 : Pred (Algebra 𝓀 𝑆)(ov 𝓀)} where
+module _ {𝓀 : Universe}{𝒦 : Pred (Algebra 𝓀 𝑆)(ov 𝓀)} where
 
  Sβ†’subalgebra : {𝑩 : Algebra 𝓀 𝑆} β†’ 𝑩 ∈ S{𝓀}{𝓀} 𝒦  β†’  𝑩 IsSubalgebraOfClass 𝒦
 
- Sβ†’subalgebra (sbase{𝑩} x) = 𝑩 , (𝑩 , ≀-refl) , x , (β‰…-sym Lift-β‰…)
- Sβ†’subalgebra (slift{𝑩} x) = ∣ BS ∣ , SA , ∣ snd βˆ₯ BS βˆ₯ ∣ , β‰…-trans (β‰…-sym Lift-β‰…) Bβ‰…SA
+ Sβ†’subalgebra (sbase{𝑩} x) = 𝑩 , (𝑩 , ≀-refl) , x , (β‰…-sym Lift-β‰…)
+ Sβ†’subalgebra (slift{𝑩} x) = ∣ BS ∣ , SA , ∣ snd βˆ₯ BS βˆ₯ ∣ , β‰…-trans (β‰…-sym Lift-β‰…) Bβ‰…SA
   where
    BS : 𝑩 IsSubalgebraOfClass 𝒦
    BS = S→subalgebra x
@@ -220,7 +220,7 @@ We sometimes want to go back and forth between our two representations of subalg
    Bβ‰…SA : 𝑩 β‰… ∣ SA ∣
    Bβ‰…SA = βˆ₯ snd βˆ₯ BS βˆ₯ βˆ₯
 
- Sβ†’subalgebra {𝑩} (ssub{𝑨} sA B≀A) = ∣ AS ∣ , (𝑩 , B≀AS) , ∣ snd βˆ₯ AS βˆ₯ ∣ , β‰…-refl
+ Sβ†’subalgebra {𝑩} (ssub{𝑨} sA B≀A) = ∣ AS ∣ , (𝑩 , B≀AS) , ∣ snd βˆ₯ AS βˆ₯ ∣ , β‰…-refl
   where
    AS : 𝑨 IsSubalgebraOfClass 𝒦
    AS = S→subalgebra sA
@@ -231,7 +231,7 @@ We sometimes want to go back and forth between our two representations of subalg
    B≀AS : 𝑩 ≀ ∣ AS ∣
    B≀AS = ≀-trans ∣ AS ∣ B≀SA βˆ₯ SA βˆ₯
 
- Sβ†’subalgebra {𝑩} (ssubw{𝑨} sA B≀A) = ∣ AS ∣ , (𝑩 , B≀AS) , ∣ snd βˆ₯ AS βˆ₯ ∣ , β‰…-refl
+ Sβ†’subalgebra {𝑩} (ssubw{𝑨} sA B≀A) = ∣ AS ∣ , (𝑩 , B≀AS) , ∣ snd βˆ₯ AS βˆ₯ ∣ , β‰…-refl
   where
    AS : 𝑨 IsSubalgebraOfClass 𝒦
    AS = S→subalgebra sA
@@ -242,7 +242,7 @@ We sometimes want to go back and forth between our two representations of subalg
    B≀AS : 𝑩 ≀ ∣ AS ∣
    B≀AS = ≀-trans ∣ AS ∣ B≀SA βˆ₯ SA βˆ₯
 
- Sβ†’subalgebra {𝑩} (siso{𝑨} sA Aβ‰…B) = ∣ AS ∣ , SA ,  ∣ snd βˆ₯ AS βˆ₯ ∣ , (β‰…-trans (β‰…-sym Aβ‰…B) Aβ‰…SA)
+ Sβ†’subalgebra {𝑩} (siso{𝑨} sA Aβ‰…B) = ∣ AS ∣ , SA ,  ∣ snd βˆ₯ AS βˆ₯ ∣ , (β‰…-trans (β‰…-sym Aβ‰…B) Aβ‰…SA)
   where
    AS : 𝑨 IsSubalgebraOfClass 𝒦
    AS = S→subalgebra sA
@@ -256,17 +256,17 @@ We sometimes want to go back and forth between our two representations of subalg
 Next we observe that lifting to a higher universe does not break the property of being a subalgebra of an algebra of a class.  In other words, if we lift a subalgebra of an algebra in a class, the result is still a subalgebra of an algebra in the class.
 
 
-module _ {𝓀 𝓦 : Universe}{𝒦 : Pred (Algebra 𝓀 𝑆)(ov 𝓀)} where
+module _ {𝓀 𝓦 : Universe}{𝒦 : Pred (Algebra 𝓀 𝑆)(ov 𝓀)} where
 
  Lift-alg-subP : {𝑩 : Algebra 𝓀 𝑆}
   β†’              𝑩 IsSubalgebraOfClass (P{𝓀}{𝓀} 𝒦)
                  -------------------------------------------------
   β†’              (Lift-alg 𝑩 𝓦) IsSubalgebraOfClass (P{𝓀}{𝓦} 𝒦)
 
- Lift-alg-subP {𝑩}(𝑨 , (π‘ͺ , C≀A) , pA , Bβ‰…C ) =
-  lA , (lC , lC≀lA) , plA , (Lift-alg-iso Bβ‰…C)
+ Lift-alg-subP {𝑩}(𝑨 , (π‘ͺ , C≀A) , pA , Bβ‰…C ) =
+  lA , (lC , lC≀lA) , plA , (Lift-alg-iso Bβ‰…C)
    where
-   lA lC : Algebra (𝓀 βŠ” 𝓦) 𝑆
+   lA lC : Algebra (𝓀 βŠ” 𝓦) 𝑆
    lA = Lift-alg 𝑨 𝓦
    lC = Lift-alg π‘ͺ 𝓦
 
@@ -281,16 +281,16 @@ The next lemma would be too obvious to care about were it not for the fact that
 
 
 
-SβŠ†SP : {𝓀 𝓦 : Universe}{𝒦 : Pred (Algebra 𝓀 𝑆)(ov 𝓀)}
- β†’     S{𝓀}{𝓦} 𝒦 βŠ† S{𝓀 βŠ” 𝓦}{𝓀 βŠ” 𝓦} (P{𝓀}{𝓦} 𝒦)
+SβŠ†SP : {𝓀 𝓦 : Universe}{𝒦 : Pred (Algebra 𝓀 𝑆)(ov 𝓀)}
+ β†’     S{𝓀}{𝓦} 𝒦 βŠ† S{𝓀 βŠ” 𝓦}{𝓀 βŠ” 𝓦} (P{𝓀}{𝓦} 𝒦)
 
 SβŠ†SP {𝓀}{𝓦}{𝒦}{.(Lift-alg 𝑨 𝓦)}(sbase{𝑨} x) = siso spllA(β‰…-sym Lift-β‰…)
  where
- llA : Algebra (𝓀 βŠ” 𝓦) 𝑆
- llA = Lift-alg (Lift-alg 𝑨 𝓦) (𝓀 βŠ” 𝓦)
+ llA : Algebra (𝓀 βŠ” 𝓦) 𝑆
+ llA = Lift-alg (Lift-alg 𝑨 𝓦) (𝓀 βŠ” 𝓦)
 
  spllA : llA ∈ S (P 𝒦)
- spllA = sbase{𝓀 βŠ” 𝓦}{𝓀 βŠ” 𝓦} (pbase x)
+ spllA = sbase{𝓀 βŠ” 𝓦}{𝓀 βŠ” 𝓦} (pbase x)
 
 SβŠ†SP {𝓀}{𝓦}{𝒦} {.(Lift-alg 𝑨 𝓦)} (slift{𝑨} x) = subalgebraβ†’S lAsc
  where
@@ -306,7 +306,7 @@ The next lemma would be too obvious to care about were it not for the fact that
 SβŠ†SP {𝓀}{𝓦}{𝒦}{𝑩}(ssub{𝑨} sA B≀A) =
  ssub (subalgebraβ†’S lAsc)( ≀-Lift 𝑨 B≀A )
   where
-  lA : Algebra (𝓀 βŠ” 𝓦) 𝑆
+  lA : Algebra (𝓀 βŠ” 𝓦) 𝑆
   lA = Lift-alg 𝑨 𝓦
 
   splAu : 𝑨 ∈ S (P 𝒦)
@@ -320,16 +320,16 @@ The next lemma would be too obvious to care about were it not for the fact that
 
 SβŠ†SP (ssubw{𝑨} sA B≀A) = ssubw (SβŠ†SP sA) B≀A
 
-SβŠ†SP {𝓀}{𝓦}{𝒦}{𝑩}(siso{𝑨} sA Aβ‰…B) = siso{𝓀 βŠ” 𝓦}{𝓀 βŠ” 𝓦} lAsp lAβ‰…B
+SβŠ†SP {𝓀}{𝓦}{𝒦}{𝑩}(siso{𝑨} sA Aβ‰…B) = siso{𝓀 βŠ” 𝓦}{𝓀 βŠ” 𝓦} lAsp lAβ‰…B
  where
- lA : Algebra (𝓀 βŠ” 𝓦) 𝑆
+ lA : Algebra (𝓀 βŠ” 𝓦) 𝑆
  lA = Lift-alg 𝑨 𝓦
 
  lAsc : lA IsSubalgebraOfClass (P 𝒦)
  lAsc = Lift-alg-subP (Sβ†’subalgebra{𝓀}{P{𝓀}{𝓀} 𝒦}{𝑨} (SβŠ†SP sA))
 
  lAsp : lA ∈ S(P 𝒦)
- lAsp = subalgebraβ†’S{𝓀 βŠ” 𝓦}{𝓀 βŠ” 𝓦}{P{𝓀}{𝓦} 𝒦}{lA} lAsc
+ lAsp = subalgebraβ†’S{𝓀 βŠ” 𝓦}{𝓀 βŠ” 𝓦}{P{𝓀}{𝓦} 𝒦}{lA} lAsc
 
  lAβ‰…B : lA β‰… 𝑩
  lA≅B = ≅-trans (≅-sym Lift-≅) A≅B
@@ -344,12 +344,12 @@ We need to formalize one more lemma before arriving the main objective of this s
 
 module _ {𝒦 : Pred(Algebra 𝓀 𝑆)(ov 𝓀)} where
 
- lemPSβŠ†SP : hfunext 𝓦 𝓀 β†’ dfunext 𝓦 𝓀 β†’ {I : 𝓦 Μ‡}{ℬ : I β†’ Algebra 𝓀 𝑆}
+ lemPSβŠ†SP : hfunext 𝓦 𝓀 β†’ dfunext 𝓦 𝓀 β†’ {I : 𝓦 Μ‡}{ℬ : I β†’ Algebra 𝓀 𝑆}
   β†’         (βˆ€ i β†’ (ℬ i) IsSubalgebraOfClass 𝒦)
             -------------------------------------
   β†’         β¨… ℬ IsSubalgebraOfClass (P{𝓀}{𝓦} 𝒦)
 
- lemPSβŠ†SP hfe𝓦𝓀 fe𝓦𝓀 {I}{ℬ} B≀K = β¨… π’œ , (β¨… SA , β¨…SAβ‰€β¨…π’œ) , ΞΎ , (β¨…β‰… {feπ“˜π“€ = fe𝓦𝓀}{feπ“˜π“¦ = fe𝓦𝓀} Bβ‰…SA)
+ lemPSβŠ†SP hfe𝓦𝓀 fe𝓦𝓀 {I}{ℬ} B≀K = β¨… π’œ , (β¨… SA , β¨…SAβ‰€β¨…π’œ) , ΞΎ , (β¨…β‰… {feπ“˜π“€ = fe𝓦𝓀}{feπ“˜π“¦ = fe𝓦𝓀} Bβ‰…SA)
   where
   π’œ : I β†’ Algebra 𝓀 𝑆
   π’œ = Ξ» i β†’ ∣ B≀K i ∣
@@ -374,7 +374,7 @@ We need to formalize one more lemma before arriving the main objective of this s
   Ξ³ = embedding-lift hfe𝓦𝓀 hfe𝓦𝓀 {I}{SA}{π’œ}h(Ξ» i β†’ βˆ₯ SAβ‰€π’œ i βˆ₯)
 
   β¨…SAβ‰€β¨…π’œ : β¨… SA ≀ β¨… π’œ
-  β¨…SAβ‰€β¨…π’œ = (Ξ± , Ξ²) , Ξ³
+  β¨…SAβ‰€β¨…π’œ = (Ξ± , Ξ²) , Ξ³
 
   ΞΎ : β¨… π’œ ∈ P 𝒦
   ΞΎ = produ (Ξ» i β†’ P-expa (∣ snd βˆ₯ B≀K i βˆ₯ ∣))
@@ -390,10 +390,10 @@ Finally, we are in a position to prove that a product of subalgebras of algebras
 
 
 
-module _ {fovu : dfunext (ov 𝓀) (ov 𝓀)}{𝒦 : Pred (Algebra 𝓀 𝑆)(ov 𝓀)} where
+module _ {fovu : dfunext (ov 𝓀) (ov 𝓀)}{𝒦 : Pred (Algebra 𝓀 𝑆)(ov 𝓀)} where
 
  PSβŠ†SP : -- extensionality assumptions:
-            hfunext (ov 𝓀)(ov 𝓀)
+            hfunext (ov 𝓀)(ov 𝓀)
 
   β†’      P{ov 𝓀}{ov 𝓀} (S{𝓀}{ov 𝓀} 𝒦) βŠ† S{ov 𝓀}{ov 𝓀} (P{𝓀}{ov 𝓀} 𝒦)
 
@@ -434,7 +434,7 @@ We conclude this subsection with three more inclusion relations that will have b
 
 
 
-PβŠ†V : {𝓀 𝓦 : Universe}{𝒦 : Pred (Algebra 𝓀 𝑆)(ov 𝓀)} β†’ P{𝓀}{𝓦} 𝒦 βŠ† V{𝓀}{𝓦} 𝒦
+PβŠ†V : {𝓀 𝓦 : Universe}{𝒦 : Pred (Algebra 𝓀 𝑆)(ov 𝓀)} β†’ P{𝓀}{𝓦} 𝒦 βŠ† V{𝓀}{𝓦} 𝒦
 
 PβŠ†V (pbase x) = vbase x
 PβŠ†V{𝓀} (pliftu x) = vlift (PβŠ†V{𝓀}{𝓀} x)
@@ -445,8 +445,8 @@ We conclude this subsection with three more inclusion relations that will have b
 PβŠ†V (pisow x x₁) = visow (PβŠ†V x) x₁
 
 
-SPβŠ†V : {𝓀 𝓦 : Universe}{𝒦 : Pred (Algebra 𝓀 𝑆)(ov 𝓀)}
- β†’     S{𝓀 βŠ” 𝓦}{𝓀 βŠ” 𝓦} (P{𝓀}{𝓦} 𝒦) βŠ† V 𝒦
+SPβŠ†V : {𝓀 𝓦 : Universe}{𝒦 : Pred (Algebra 𝓀 𝑆)(ov 𝓀)}
+ β†’     S{𝓀 βŠ” 𝓦}{𝓀 βŠ” 𝓦} (P{𝓀}{𝓦} 𝒦) βŠ† V 𝒦
 
 SPβŠ†V (sbase{𝑨} PCloA) = PβŠ†V (pisow PCloA Lift-β‰…)
 SPβŠ†V (slift{𝑨} x) = vliftw (SPβŠ†V x)
@@ -463,53 +463,53 @@ As mentioned earlier, a technical hurdle that must be overcome when formalizing
 
 open Lift
 
-module Vlift {feβ‚€ : dfunext (ov 𝓀) 𝓀}
-         {fe₁ : dfunext ((ov 𝓀) βŠ” ((ov 𝓀)⁺)) ((ov 𝓀) ⁺)}
-         {feβ‚‚ : dfunext (ov 𝓀) (ov 𝓀)}
+module Vlift {feβ‚€ : dfunext (ov 𝓀) 𝓀}
+         {fe₁ : dfunext ((ov 𝓀) βŠ” ((ov 𝓀)⁺)) ((ov 𝓀) ⁺)}
+         {feβ‚‚ : dfunext (ov 𝓀) (ov 𝓀)}
          {𝒦 : Pred (Algebra 𝓀 𝑆)(ov 𝓀)} where
 
  VlA : {𝑨 : Algebra (ov 𝓀) 𝑆} β†’ 𝑨 ∈ V{𝓀}{ov 𝓀} 𝒦
-  β†’    Lift-alg 𝑨 (ov 𝓀 ⁺) ∈ V{𝓀}{ov 𝓀 ⁺} 𝒦
+  β†’    Lift-alg 𝑨 (ov 𝓀 ⁺) ∈ V{𝓀}{ov 𝓀 ⁺} 𝒦
 
  VlA (vbase{𝑨} x) = visow (vbase x) (Lift-alg-associative 𝑨)
  VlA (vlift{𝑨} x) = visow (vlift x) (Lift-alg-associative 𝑨)
  VlA (vliftw{𝑨} x) = visow (VlA x) (Lift-alg-associative 𝑨)
  VlA (vhimg{𝑨}{𝑩} x hB) = vhimg (VlA x) (Lift-alg-hom-image hB)
- VlA (vssub{𝑨}{𝑩} x B≀A) = vssubw (vlift{𝓦 = (ov 𝓀 ⁺)} x) (Lift-≀-Lift 𝑨 B≀A)
+ VlA (vssub{𝑨}{𝑩} x B≀A) = vssubw (vlift{𝓦 = (ov 𝓀 ⁺)} x) (Lift-≀-Lift 𝑨 B≀A)
  VlA (vssubw{𝑨}{𝑩} x B≀A) = vssubw (VlA x) (Lift-≀-Lift 𝑨 B≀A)
  VlA (vprodu{I}{π’œ} x) = visow (vprodw vlA) (β‰…-sym Bβ‰…A)
   where
-  𝑰 : (ov 𝓀 ⁺) Μ‡
+  𝑰 : (ov 𝓀 ⁺) Μ‡
   𝑰 = Lift I
 
-  lA : 𝑰 β†’ Algebra (ov 𝓀 ⁺) 𝑆
-  lA i = Lift-alg (π’œ (lower i)) (ov 𝓀 ⁺)
+  lA : 𝑰 β†’ Algebra (ov 𝓀 ⁺) 𝑆
+  lA i = Lift-alg (π’œ (lower i)) (ov 𝓀 ⁺)
 
-  vlA : βˆ€ i β†’ (lA i) ∈ V{𝓀}{ov 𝓀 ⁺} 𝒦
+  vlA : βˆ€ i β†’ (lA i) ∈ V{𝓀}{ov 𝓀 ⁺} 𝒦
   vlA i = vlift (x (lower i))
 
   iso-components : βˆ€ i β†’ π’œ i β‰… lA (lift i)
   iso-components i = Lift-β‰…
 
-  Bβ‰…A : Lift-alg (β¨… π’œ) (ov 𝓀 ⁺) β‰… β¨… lA
+  Bβ‰…A : Lift-alg (β¨… π’œ) (ov 𝓀 ⁺) β‰… β¨… lA
   Bβ‰…A = Lift-alg-β¨…β‰…  {fizw = fe₁}{fiu = feβ‚€} iso-components
 
 
  VlA (vprodw{I}{π’œ} x) = visow (vprodw vlA) (β‰…-sym Bβ‰…A)
   where
-  𝑰 : (ov 𝓀 ⁺) Μ‡
+  𝑰 : (ov 𝓀 ⁺) Μ‡
   𝑰 = Lift I
 
-  lA : 𝑰 β†’ Algebra (ov 𝓀 ⁺) 𝑆
-  lA i = Lift-alg (π’œ (lower i)) (ov 𝓀 ⁺)
+  lA : 𝑰 β†’ Algebra (ov 𝓀 ⁺) 𝑆
+  lA i = Lift-alg (π’œ (lower i)) (ov 𝓀 ⁺)
 
-  vlA : βˆ€ i β†’ (lA i) ∈ V{𝓀}{ov 𝓀 ⁺} 𝒦
+  vlA : βˆ€ i β†’ (lA i) ∈ V{𝓀}{ov 𝓀 ⁺} 𝒦
   vlA i = VlA (x (lower i))
 
   iso-components : βˆ€ i β†’ π’œ i β‰… lA (lift i)
   iso-components i = Lift-β‰…
 
-  Bβ‰…A : Lift-alg (β¨… π’œ) (ov 𝓀 ⁺) β‰… β¨… lA
+  Bβ‰…A : Lift-alg (β¨… π’œ) (ov 𝓀 ⁺) β‰… β¨… lA
   Bβ‰…A = Lift-alg-β¨…β‰… {fizw = fe₁}{fiu = feβ‚‚} iso-components
 
  VlA (visou{𝑨}{𝑩} x Aβ‰…B) = visow (vlift x) (Lift-alg-iso Aβ‰…B)
@@ -525,21 +525,21 @@ Above we proved that `SP(𝒦) βŠ† V(𝒦)`, and we did so under fairly general
 
 -- module _ {𝒦 : Pred (Algebra 𝓀 𝑆) (ov 𝓀)} where
 
- SPβŠ†V' : S{ov 𝓀}{ov 𝓀 ⁺} (P{𝓀}{ov 𝓀} 𝒦) βŠ† V 𝒦
+ SPβŠ†V' : S{ov 𝓀}{ov 𝓀 ⁺} (P{𝓀}{ov 𝓀} 𝒦) βŠ† V 𝒦
 
  SPβŠ†V' (sbase{𝑨} x) = visow (VlA (SPβŠ†V (sbase x))) (β‰…-sym (Lift-alg-associative 𝑨))
  SPβŠ†V' (slift x) = VlA (SPβŠ†V x)
 
  SPβŠ†V' (ssub{𝑨}{𝑩} spA B≀A) = vssubw (VlA (SPβŠ†V spA)) B≀lA
   where
-   B≀lA : 𝑩 ≀ Lift-alg 𝑨 (ov 𝓀 ⁺)
+   B≀lA : 𝑩 ≀ Lift-alg 𝑨 (ov 𝓀 ⁺)
    B≀lA = ≀-Lift 𝑨 B≀A
 
  SPβŠ†V' (ssubw spA B≀A) = vssubw (SPβŠ†V' spA) B≀A
 
  SPβŠ†V' (siso{𝑨}{𝑩} x Aβ‰…B) = visow (VlA (SPβŠ†V x)) Ξ³
   where
-   Ξ³ : Lift-alg 𝑨 (ov 𝓀 ⁺) β‰… 𝑩
+   Ξ³ : Lift-alg 𝑨 (ov 𝓀 ⁺) β‰… 𝑩
    γ = ≅-trans (≅-sym Lift-≅) A≅B
 
 
@@ -555,9 +555,9 @@ Before doing so, we need to redefine the class product so that each factor comes module class-products-with-maps {X : 𝓀 Μ‡} - {fe𝓕𝓀 : dfunext (ov 𝓀) 𝓀} - {fe₁ : dfunext ((ov 𝓀) βŠ” ((ov 𝓀)⁺)) ((ov 𝓀) ⁺)} - {feβ‚‚ : dfunext (ov 𝓀) (ov 𝓀)} + {fe𝓕𝓀 : dfunext (ov 𝓀) 𝓀} + {fe₁ : dfunext ((ov 𝓀) βŠ” ((ov 𝓀)⁺)) ((ov 𝓀) ⁺)} + {feβ‚‚ : dfunext (ov 𝓀) (ov 𝓀)} (𝒦 : Pred (Algebra 𝓀 𝑆)(ov 𝓀)) where @@ -616,7 +616,7 @@ So, since `PSβŠ†SP`, we see that that the product of all subalgebras of a class
 
- class-prod-s-∈-sp : hfunext (ov 𝓀) (ov 𝓀) β†’ class-product ∈ S(P 𝒦)
+ class-prod-s-∈-sp : hfunext (ov 𝓀) (ov 𝓀) β†’ class-product ∈ S(P 𝒦)
  class-prod-s-∈-sp hfe = PSβŠ†SP {fovu = feβ‚‚} hfe class-prod-s-∈-ps