File tree 3 files changed +34
-1
lines changed
3 files changed +34
-1
lines changed Original file line number Diff line number Diff line change @@ -116,6 +116,11 @@ New modules
116
116
Algebra.Construct.Pointwise
117
117
```
118
118
119
+ * ` Number ` literals derivable from any ` SuccessorSet ` :
120
+ ```
121
+ Algebra.Literals
122
+ ```
123
+
119
124
* Raw bundles for module-like algebraic structures:
120
125
```
121
126
Algebra.Module.Bundles.Raw
Original file line number Diff line number Diff line change @@ -44,7 +44,6 @@ record SuccessorSet c ℓ : Set (suc (c ⊔ ℓ)) where
44
44
rawSuccessorSet : RawSuccessorSet _ _
45
45
rawSuccessorSet = record { _≈_ = _≈_; suc# = suc#; zero# = zero# }
46
46
47
- open RawSuccessorSet rawSuccessorSet public
48
47
49
48
------------------------------------------------------------------------
50
49
-- Bundles with 1 binary operation
Original file line number Diff line number Diff line change
1
+ ------------------------------------------------------------------------
2
+ -- The Agda standard library
3
+ --
4
+ -- Algebra Literals, from a SuccessorSet
5
+ ------------------------------------------------------------------------
6
+
7
+ {-# OPTIONS --cubical-compatible --safe #-}
8
+
9
+ open import Algebra.Bundles using (SuccessorSet)
10
+
11
+ module Algebra.Literals {c ℓ} (successorSet : SuccessorSet c ℓ) where
12
+
13
+ open import Agda.Builtin.FromNat using (Number)
14
+ open import Data.Nat.Base as ℕ using (ℕ; zero; suc)
15
+ open import Data.Unit.Polymorphic.Base
16
+
17
+ open SuccessorSet successorSet
18
+
19
+
20
+ ------------------------------------------------------------------------
21
+ -- Number instance
22
+
23
+ fromℕ : (n : ℕ) → Carrier
24
+ fromℕ zero = zero#
25
+ fromℕ (suc n) = suc# (fromℕ n)
26
+
27
+ instance
28
+ number : Number Carrier
29
+ number = record { Constraint = λ _ → ⊤ ; fromNat = λ n → fromℕ n }
You can’t perform that action at this time.
0 commit comments