Skip to content

Commit 90dd102

Browse files
author
Alex Gryzlov
committed
add module declarations
1 parent 07fe0df commit 90dd102

File tree

3 files changed

+12
-3
lines changed

3 files changed

+12
-3
lines changed

software_foundations.ipkg

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ modules = Basics
55
, Lists
66
, Poly
77
, Tactics
8+
, Logic
89

910
brief = "Software Foundations in Idris"
1011
version = 0.0.1.0

src/Logic.lidr

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
= Logic : Logic in Idris
22

3+
> module Logic
4+
35
> import Basics
46

57
> %hide Basics.Numbers.pred
@@ -210,6 +212,7 @@ $\square$
210212

211213
=== Disjunction
212214

215+
\todo[inline]{Make syntax synonyms for \idr{(,)} and \idr{Either}?}
213216

214217
Another important connective is the _disjunction_, or _logical or_ of two
215218
propositions: \idr{a `Either` b} is true when either \idr{a} or \idr{b} is. The
@@ -440,6 +443,8 @@ $\square$
440443

441444
$\square$
442445

446+
\todo[inline]{Edit the rest of the section. What to do with Setoids? We could
447+
probably just use profunctors here}
443448

444449
Some of Idris's tactics treat iff statements specially, avoiding the need for
445450
some low-level proof-state manipulation. In particular, rewrite and reflexivity
@@ -829,6 +834,8 @@ However, we can add functional extensionality to Idris's core logic using the
829834
> functional_extensionality = really_believe_me
830835

831836
Using \idr{really_believe_me} has the same effect as stating a theorem and
837+
skipping its proof using a hole, but it alerts the reader (and type checker)
838+
that this isn't just something we're going to come back and fill in later!
832839

833840
We can now invoke functional extensionality in proofs:
834841

@@ -1137,8 +1144,8 @@ the value of \idr{b}.
11371144
\todo[inline]{Remove when a release with
11381145
https://github.com/idris-lang/Idris-dev/pull/3925 happens}
11391146

1140-
Uninhabited (False = True) where
1141-
uninhabited Refl impossible
1147+
> Uninhabited (False = True) where
1148+
> uninhabited Refl impossible
11421149

11431150
> restricted_excluded_middle : (p <-> b = True) -> p `Either` Not p
11441151
> restricted_excluded_middle {b = True} (_, bp) = Left $ bp Refl

src/Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ LIDR_FILES := Preface.lidr \
1616
Induction.lidr \
1717
Lists.lidr \
1818
Poly.lidr \
19-
Tactics.lidr
19+
Tactics.lidr \
20+
Logic.lidr
2021
# TODO: Add more chapters, in order, here.
2122

2223

0 commit comments

Comments
 (0)