fix(datatypes): further fix incorrect comment

This commit is contained in:
Floris van Doorn 2017-06-15 15:24:00 -04:00
parent cad1ed3395
commit 123ef6ab67
4 changed files with 20 additions and 6 deletions

View file

@ -58,9 +58,8 @@ sigma.rec (λ a b, a) p
definition sigma.pr2 [reducible] [unfold 3] {A : Type} {B : A → Type} (p : sigma B) : B (sigma.pr1 p) :=
sigma.rec (λ a b, b) p
-- pos_num and num are two auxiliary datatypes used when parsing numerals such as 13, 0, 26.
-- The parser will generate the terms (pos (bit1 (bit0 (bit1 one)))), zero, and (pos (bit0 (bit1 (bit0 (bit1 one))))).
-- This representation can be coerced in whatever we want (e.g., naturals, integers, reals, etc).
-- pos_num and num are two auxiliary datatypes used when parsing numerals such as 13, 0, 26
-- in an [priority n] flag.
inductive pos_num : Type :=
| one : pos_num
| bit1 : pos_num → pos_num

View file

@ -37,6 +37,14 @@ definition lt {A : Type} [s : has_lt A] : A → A → Type := ha
definition ge [reducible] {A : Type} [s : has_le A] (a b : A) : Type := le b a
definition gt [reducible] {A : Type} [s : has_lt A] (a b : A) : Type := lt b a
/-
bit0 and bit1 are two auxiliary definition used when parsing numerals such as 13, 0, 26.
The parser will generate the terms (bit1 (bit0 (bit1 one))), zero, and
(bit0 (bit1 (bit0 (bit1 one)))). This works in any type with an addition, a zero and a one.
More specifically, there must be type class instances for the classes for has_add, has_zero and
has_one
-/
definition bit0 [reducible] {A : Type} [s : has_add A] (a : A) : A := add a a
definition bit1 [reducible] {A : Type} [s₁ : has_one A] [s₂ : has_add A] (a : A) : A :=
add (bit0 a) one

View file

@ -80,9 +80,8 @@ or.inr Hb
structure sigma {A : Type} (B : A → Type) :=
mk :: (pr1 : A) (pr2 : B pr1)
-- pos_num and num are two auxiliary datatypes used when parsing numerals such as 13, 0, 26.
-- The parser will generate the terms (pos (bit1 (bit1 (bit0 one)))), zero, and (pos (bit0 (bit1 (bit1 one)))).
-- This representation can be coerced in whatever we want (e.g., naturals, integers, reals, etc).
-- pos_num and num are two auxiliary datatypes used when parsing numerals such as 13, 0, 26
-- in an [priority n] flag.
inductive pos_num : Type :=
| one : pos_num
| bit1 : pos_num → pos_num

View file

@ -37,6 +37,14 @@ definition lt {A : Type} [s : has_lt A] : A → A → Prop := has_lt.lt
definition ge [reducible] {A : Type} [s : has_le A] (a b : A) : Prop := le b a
definition gt [reducible] {A : Type} [s : has_lt A] (a b : A) : Prop := lt b a
/-
bit0 and bit1 are two auxiliary definition used when parsing numerals such as 13, 0, 26.
The parser will generate the terms (bit1 (bit0 (bit1 one))), zero, and
(bit0 (bit1 (bit0 (bit1 one)))). This works in any type with an addition, a zero and a one.
More specifically, there must be type class instances for the classes for has_add, has_zero and
has_one
-/
definition bit0 {A : Type} [s : has_add A] (a : A) : A := add a a
definition bit1 {A : Type} [s₁ : has_one A] [s₂ : has_add A] (a : A) : A := add (bit0 a) one