Commit graph

558 commits

Author SHA1 Message Date
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