Adam Chlipala
f1bd394375
Start of RuleInduction book chapter, up through permutations
2021-02-28 18:07:31 -05:00
Adam Chlipala
a55a98b426
RuleInduction: some propositional logic, with slightly naughty use of excluded middle
2021-02-28 17:19:06 -05:00
Adam Chlipala
7a906b1a63
Nicer proof of Permutation_app
2021-02-28 11:02:46 -05:00
Adam Chlipala
cf7d27417d
Start code for new RuleInduction chapter, up through permutation
2021-02-28 10:59:13 -05:00
Adam Chlipala
757999b52d
Merge
2021-02-28 10:21:53 -05:00
Adam Chlipala
b45b511969
New semester
2021-02-17 08:47:42 -05:00
Adam Chlipala
d3be001671
Update before lecturing on BasicSyntax
2021-02-15 16:58:40 -05:00
Adam Chlipala
d1d44e55f6
Small patch for Coq 8.13
2021-02-14 17:26:21 -05:00
Adam Chlipala
03ffcc3e67
New semester at MIT
2021-02-14 13:04:09 -05:00
Adam Chlipala
f73e30817b
ConcurrentSeparationLogic_template: extend to match last change
2021-01-03 15:27:46 -05:00
Adam Chlipala
b7f248e099
ConcurrentSeparationLogic: stop bothering to choose postconditions for parallel compositions, which can't terminate (addresses #52 )
2021-01-03 15:20:26 -05:00
Adam Chlipala
5376847d16
Merge branch 'master' of github.com:achlipala/frap
2021-01-03 14:56:48 -05:00
Adam Chlipala
f14d064555
Update for Coq 8.12.2
2021-01-03 14:56:39 -05:00
Adam Chlipala
a4cc213b75
Merge pull request #42 from samuelgruetter/messages_typo
...
typo
2021-01-03 14:41:11 -05:00
Adam Chlipala
845c9189c1
Merge pull request #51 from mdempsky/csl-example-typo
...
Fix typo in ConcurrentSeparationLogic.v example
2021-01-03 14:39:16 -05:00
Adam Chlipala
7db4d122d4
Merge pull request #50 from mdempsky/loop-typo
...
Fix typos in operational semantics for "Loop" command
2021-01-03 14:38:45 -05:00
Matthew Dempsky
509ebb1d06
Fix typo in ConcurrentSeparationLogic.v example
...
In the 3-stage example, the middle stage moves list elements from the
first stack to the second stack, not back onto the first stack again.
2020-09-24 13:30:58 -07:00
Matthew Dempsky
bd92c1cbb3
Fix typos in operational semantics for "Loop" command
...
In section 13.3, the type of Loop is defined as:
Loop : forall a, a -> (a -> cmd (outcome a)) -> cmd a
However, the operational semantics provided in sections 14.1 and 18.1
invoke the loop body function using "Again(i)" (type "outcome a").
They should instead use simply "i" (type "a").
Changing to "f(i)" also matches the StepLoop formalizations in
SeparationLogic.v and ConcurrentSeparationLogic.v, which invoke simply
"body init" (rather than "body (Again init)").
2020-09-24 11:43:41 -07:00
Adam Chlipala
e32105c142
Merge pull request #48 from mdempsky/sepcancel-typo
...
Add missing parentheses in SepCancel's normalize2 tactic
2020-07-25 09:18:19 -04:00
Matthew Dempsky
0a55c03aa0
Add missing parentheses in SepCancel's normalize2 tactic
...
Before this change, "Print normalize2" prints:
Ltac Frap.SepCancel.Make.normalize2 :=
match goal with
| |- context [ (?p * lift) (?P /\ ?Q) ] => rewrite (lift_uncombine p P Q)
| |- context [ ?p * (?q * ?r) ] => rewrite (star_assoc p q r)
end
After, it prints:
Ltac Frap.SepCancel.Make.normalize2 :=
match goal with
| |- context [ ?p * [|?P /\ ?Q|] ] => rewrite (lift_uncombine p P Q)
| |- context [ ?p * (?q * ?r) ] => rewrite (star_assoc p q r)
end
2020-07-24 18:23:44 -07:00
Adam Chlipala
d1ace360eb
Parenthetical remarks to characterize in what senses various analysis results are 'most precise' ( closes #47 )
2020-05-22 17:10:37 -04:00
Adam Chlipala
b8d0cefa6a
Consistency of notation for implication ( closes #46 )
2020-05-11 11:50:09 -04:00
Adam Chlipala
b214d2c78a
Revising before class
2020-05-10 14:10:01 -04:00
Adam Chlipala
8a87c209f7
Revising before class
2020-05-05 19:26:59 -04:00
Adam Chlipala
1c91cf3d5c
Merge branch 'master' of github.com:achlipala/frap
2020-04-29 16:06:34 -04:00
Adam Chlipala
c2bbf00999
Update for latest Coq version
2020-04-29 14:29:58 -04:00
Adam Chlipala
5f735225ef
Revising before class
2020-04-28 09:40:40 -04:00
Adam Chlipala
300f78191e
Revising before class
2020-04-26 14:30:18 -04:00
Adam Chlipala
42d5af6d2d
Revising before class
2020-04-26 14:29:53 -04:00
Adam Chlipala
213f8b270b
Revising before class
2020-04-26 14:28:52 -04:00
Adam Chlipala
e56390f108
Update SessionTypes to follow changes in MessagesAndRefinement
2020-04-24 11:15:51 -04:00
Adam Chlipala
a8dd970c96
Merge pull request #44 from samuelgruetter/message_passing_fixes
...
Message passing fixes
2020-04-24 09:50:30 -04:00
Adam Chlipala
eccb504f08
Merge pull request #43 from bkushigian/master
...
Change overloaded term `S` in section 5.4
2020-04-24 09:29:23 -04:00
Samuel Gruetter
26b8436e0c
fix warnings in MessagesAndRefinement.v
2020-04-21 19:22:39 -04:00
Samuel Gruetter
ceddf6d6e4
the few keystrokes saved by using a Coercion from action
...
to label is not worth the confusion it creates for students
during proofs
2020-04-21 19:19:22 -04:00
Samuel Gruetter
6a1e7fa644
also replace Set by Type in LStepSend and LStepRecv
2020-04-20 21:42:33 -04:00
bkushigian
22f3238a8a
Change overloaded term S
in section 5.4
2020-04-20 09:34:30 -07:00
Adam Chlipala
69de20dec8
Revising before class, including with an optimization to the model-checking engine
2020-04-20 11:56:23 -04:00
Adam Chlipala
c607913898
Typo in translation rule
2020-04-15 09:48:24 -04:00
Adam Chlipala
d74a0ebb42
Revising before class
2020-04-14 15:48:36 -04:00
Adam Chlipala
2efec7b61d
Typo fix
2020-04-14 11:55:26 -04:00
Samuel Gruetter
ce1bc740c4
allow Type instead of just Set in Send and Recv
...
so that we can send fmaps
2020-04-13 15:26:11 -04:00
Adam Chlipala
b632c66f85
More revision before class
2020-04-13 09:27:45 -04:00
Samuel Gruetter
1cc82281bf
typo
2020-04-12 21:36:38 -04:00
Adam Chlipala
8a554ded4c
Revising SeparationLogic before class
2020-04-11 14:33:14 -04:00
Adam Chlipala
000c22f7f1
Merge branch 'master' of github.com:achlipala/frap
2020-04-08 10:48:27 -04:00
Adam Chlipala
ca3a490119
Revising before class
2020-04-08 10:48:14 -04:00
Adam Chlipala
da53b28584
HoareLogic_template: hint databases
2020-04-06 14:25:19 -04:00
Adam Chlipala
583605fded
Merge branch 'master' of github.com:achlipala/frap
2020-04-05 09:30:12 -04:00
Adam Chlipala
477788abaa
Missed loop invariant in big-step semantics
2020-04-05 09:30:01 -04:00