From df2a87c5dbfa5de1c9be53991199302a4096302d Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 24 Jan 2025 08:57:07 -0800 Subject: [PATCH] Extract examples --- .../binaries/DafnyStandardLibraries-cs.doo | Bin 1549 -> 1549 bytes .../binaries/DafnyStandardLibraries-go.doo | Bin 1572 -> 1572 bytes .../binaries/DafnyStandardLibraries-java.doo | Bin 1546 -> 1546 bytes .../binaries/DafnyStandardLibraries-js.doo | Bin 2032 -> 2032 bytes .../DafnyStandardLibraries-notarget.doo | Bin 1526 -> 1526 bytes .../binaries/DafnyStandardLibraries-py.doo | Bin 1541 -> 1541 bytes .../binaries/DafnyStandardLibraries.doo | Bin 64291 -> 63591 bytes .../examples/Actions/ActionsExamples.dfy | 177 ++++++++++++++++++ .../src/Std/Actions/Actions.dfy | 133 +------------ .../src/Std/Actions/Aggregators.dfy | 12 -- .../src/Std/Actions/Enumerators.dfy | 29 --- .../src/Std/Actions/README.md | 3 + .../src/Std/Streams/Streams.dfy | 3 +- 13 files changed, 182 insertions(+), 175 deletions(-) create mode 100644 Source/DafnyStandardLibraries/examples/Actions/ActionsExamples.dfy diff --git a/Source/DafnyStandardLibraries/binaries/DafnyStandardLibraries-cs.doo b/Source/DafnyStandardLibraries/binaries/DafnyStandardLibraries-cs.doo index 9205acff61c1ade26f6234ee247ec80b2e8c8e43..634530333ee64a16a759c2a877e98ec63fd9e3b2 100644 GIT binary patch delta 47 wcmeC>>E+=K@MdNaVPIh3U{H0l*vPw%kr_yD-p6>A8N`@8jnx87Uu3lb0Pr6RRR910 delta 47 wcmeC>>E+=K@MdNaVPIh3V7R!>d?W8VMrI(rc^~6dW)NfYG*$~ReUa4$07767p#T5? diff --git a/Source/DafnyStandardLibraries/binaries/DafnyStandardLibraries-go.doo b/Source/DafnyStandardLibraries/binaries/DafnyStandardLibraries-go.doo index d9be8d7573b0cb2aeca580959d237e1698478f8c..6d1b45c433255101b6fb7b626ed1c377822f92b3 100644 GIT binary patch delta 47 wcmZ3&vxJ8?z?+#xgn@y9gJF@I#YWzBjLblK^FGEm%pk_(wX7Ck`UR^E03m1%yZ`_I delta 47 wcmZ3&vxJ8?z?+#xgn@y9gW={n^Nqag7@2|e=6#HBm_dxmYgsM8^b1xS08jJ~Gynhq diff --git a/Source/DafnyStandardLibraries/binaries/DafnyStandardLibraries-java.doo b/Source/DafnyStandardLibraries/binaries/DafnyStandardLibraries-java.doo index 1c0818dddb7581e275764b9f91a9b3cee8d99fe4..8672885782765bfea4d8150a9d19ddee83f07514 100644 GIT binary patch delta 47 wcmeC;>EhuH@MdNaVPIh3V9;>0*vPw%kr_yD-p6=}8N`@8nbiVJpJTNF0PmFxQUCw| delta 47 wcmeC;>EhuH@MdNaVPIh3V7R=_d?W8VMrI(rc^~5?W)NfYWL66>eU8-z06~Zkng9R* diff --git a/Source/DafnyStandardLibraries/binaries/DafnyStandardLibraries-js.doo b/Source/DafnyStandardLibraries/binaries/DafnyStandardLibraries-js.doo index 79acd60a9df9d948cb5fc823846d96b0f77498d2..59b4318fcec9a1cd2292c11c85325b4bb2a76935 100644 GIT binary patch delta 47 wcmeys|AC)3z?+#xgn@y9gF)NPVk7T5MrI(rc^~5rRuE%yCA$Tf-okDJ024k7=l}o! delta 47 wcmeys|AC)3z?+#xgn@y9gW=jb^Nqag7@2|e=6#GiSV4@*mFyN^dJDS^0A(T&FaQ7m diff --git a/Source/DafnyStandardLibraries/binaries/DafnyStandardLibraries-notarget.doo b/Source/DafnyStandardLibraries/binaries/DafnyStandardLibraries-notarget.doo index c84767fb56b733b002272394c9c1c213795dfdfc..60776056c6ee856ae9f407ed2264fbebec3c1287 100644 GIT binary patch delta 47 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 ZTFx48zR36h0NxpsHux(Bo%#R(000&iOQ8S& diff --git a/Source/DafnyStandardLibraries/examples/Actions/ActionsExamples.dfy b/Source/DafnyStandardLibraries/examples/Actions/ActionsExamples.dfy new file mode 100644 index 00000000000..bc825b46e45 --- /dev/null +++ b/Source/DafnyStandardLibraries/examples/Actions/ActionsExamples.dfy @@ -0,0 +1,177 @@ +module ActionsExamples { + import opened Std.Actions + import opened Std.Enumerators + import opened Std.Aggregators + import opened Std.Wrappers + + class Box { + const i: nat + + constructor(i: nat) + reads {} + ensures this.i == i + { + this.i := i; + } + } + + function SeqRange(n: nat): seq { + seq(n, i => i) + } + + lemma SeqRangeIncr(prefix: seq, n: nat) + requires prefix == SeqRange(n) + ensures prefix + [n] == SeqRange(n + 1) + {} + + @AssumeCrossModuleTermination + class BoxEnumerator extends Action<(), Box> { + + var nextValue: nat + + ghost predicate Valid() + reads this, Repr + ensures Valid() ==> this in Repr + ensures Valid() ==> CanProduce(history) + decreases height, 0 + { + && this in Repr + && CanProduce(history) + && nextValue == |history| + } + + constructor() + ensures Valid() + ensures fresh(Repr) + ensures history == [] + { + nextValue := 0; + history := []; + Repr := {this}; + height := 1; + } + + ghost predicate CanConsume(history: seq<((), Box)>, next: ()) + decreases height + { + true + } + ghost predicate CanProduce(history: seq<((), Box)>) + decreases height + { + Seq.Map((b: Box) => b.i, Outputs(history)) == SeqRange(|history|) + } + + method Invoke(t: ()) returns (r: Box) + requires Requires(t) + reads Reads(t) + modifies Modifies(t) + decreases Decreases(t).Ordinal() + ensures Ensures(t, r) + { + assert Requires(t); + ghost var producedBefore := Produced(); + + r := new Box(nextValue); + Update(t, r); + Repr := {this}; + nextValue := nextValue + 1; + + SeqRangeIncr(Seq.Map((b: Box) => b.i, producedBefore), |producedBefore|); + assert Valid(); + } + + method RepeatUntil(t: (), stop: Box -> bool, ghost eventuallyStopsProof: ProducesTerminatedProof<(), Box>) + requires Valid() + requires eventuallyStopsProof.Action() == this + requires eventuallyStopsProof.FixedInput() == t + requires eventuallyStopsProof.StopFn() == stop + requires forall i <- Consumed() :: i == t + reads Repr + modifies Repr + decreases Repr + ensures Valid() + { + DefaultRepeatUntil(this, t, stop, eventuallyStopsProof); + } + } + + method {:rlimit 0} BoxEnumeratorExample() { + var enum: BoxEnumerator := new BoxEnumerator(); + assert |enum.Produced()| == 0; + var a := enum.Invoke(()); + + assert enum.Produced() == [a]; + assert Seq.Map((b: Box) => b.i, enum.Produced()) == SeqRange(1) == [0]; + // assert a.i == 0; + + // var b := enum.Invoke(()); + // var c := enum.Invoke(()); + // var d := enum.Invoke(()); + // var e := enum.Invoke(()); + } + + method SetEnumeratorExample() { + var s: set := {1, 2, 3, 4, 5}; + var copy: set := {}; + var e: SetEnumerator := new SetEnumerator(s); + + label before: + for enumerated := 0 to 5 + invariant e.Valid() + invariant enumerated == |e.history| + invariant fresh(e.Repr - old@before(e.Repr)) + { + var x := e.Invoke(()); + copy := copy + {x}; + } + + // TODO: cool enough that we can statically invoke + // the enumerator the right number of times! + // But now prove that copy == s! + // assert |copy| == 5; + // assert copy == s; + } + + method {:rlimit 0} AggregatorExample() { + var a: ArrayAggregator := new ArrayAggregator(); + var _ := a.Invoke(1); + var _ := a.Invoke(2); + var _ := a.Invoke(3); + var _ := a.Invoke(4); + var _ := a.Invoke(5); + var _ := a.Invoke(6); + assert a.Consumed() == [1, 2, 3, 4, 5, 6]; + assert a.storage.items == [1, 2, 3, 4, 5, 6]; + } + + @AssumeCrossModuleTermination + class ExamplePipeline extends Pipeline { + constructor(upstream: Enumerator) + requires upstream.Valid() + ensures Valid() + { + this.upstream := upstream; + var buffer := new Collector(); + + Repr := {this} + upstream.Repr + buffer.Repr; + history := []; + this.buffer := buffer; + this.height := upstream.height + buffer.height + 1; + } + + method Process(u: Option, a: Accumulator) + requires a.Valid() + reads a.Repr + modifies a.Repr + ensures a.ValidAndDisjoint() + { + assert a.Valid(); + + if u.Some? { + a.CanConsumeAll(a.history, u.value); + a.Accept(u.value); + } + } + } +} \ No newline at end of file diff --git a/Source/DafnyStandardLibraries/src/Std/Actions/Actions.dfy b/Source/DafnyStandardLibraries/src/Std/Actions/Actions.dfy index f3cd4a0fd13..1c1de6f7a1b 100644 --- a/Source/DafnyStandardLibraries/src/Std/Actions/Actions.dfy +++ b/Source/DafnyStandardLibraries/src/Std/Actions/Actions.dfy @@ -367,6 +367,7 @@ module Std.Actions { } } + // TODO: Move to Enumerators? class FunctionalEnumerator extends Action<(), Option> { const stepFn: S -> Option<(S, T)> @@ -433,114 +434,6 @@ module Std.Actions { } } - class Box { - const i: nat - - constructor(i: nat) - reads {} - ensures this.i == i - { - this.i := i; - } - } - - function SeqRange(n: nat): seq { - seq(n, i => i) - } - - lemma SeqRangeIncr(prefix: seq, n: nat) - requires prefix == SeqRange(n) - ensures prefix + [n] == SeqRange(n + 1) - {} - - // TODO: move to examples - class BoxEnumerator extends Action<(), Box> { - - var nextValue: nat - - ghost predicate Valid() - reads this, Repr - ensures Valid() ==> this in Repr - ensures Valid() ==> CanProduce(history) - decreases height, 0 - { - && this in Repr - && CanProduce(history) - && nextValue == |history| - } - - constructor() - ensures Valid() - ensures fresh(Repr) - ensures history == [] - { - nextValue := 0; - history := []; - Repr := {this}; - height := 1; - } - - ghost predicate CanConsume(history: seq<((), Box)>, next: ()) - decreases height - { - true - } - ghost predicate CanProduce(history: seq<((), Box)>) - decreases height - { - Seq.Map((b: Box) => b.i, Outputs(history)) == SeqRange(|history|) - } - - method Invoke(t: ()) returns (r: Box) - requires Requires(t) - reads Reads(t) - modifies Modifies(t) - decreases Decreases(t).Ordinal() - ensures Ensures(t, r) - { - assert Requires(t); - ghost var producedBefore := Produced(); - - r := new Box(nextValue); - Update(t, r); - Repr := {this}; - nextValue := nextValue + 1; - - SeqRangeIncr(Seq.Map((b: Box) => b.i, producedBefore), |producedBefore|); - assert Valid(); - } - - method RepeatUntil(t: (), stop: Box -> bool, ghost eventuallyStopsProof: ProducesTerminatedProof<(), Box>) - requires Valid() - requires eventuallyStopsProof.Action() == this - requires eventuallyStopsProof.FixedInput() == t - requires eventuallyStopsProof.StopFn() == stop - requires forall i <- Consumed() :: i == t - reads Repr - modifies Repr - decreases Repr - ensures Valid() - { - DefaultRepeatUntil(this, t, stop, eventuallyStopsProof); - } - } - - method {:rlimit 0} BoxEnumeratorExample() { - var enum: BoxEnumerator := new BoxEnumerator(); - assert |enum.Produced()| == 0; - var a := enum.Invoke(()); - - assert enum.Produced() == [a]; - assert Seq.Map((b: Box) => b.i, enum.Produced()) == SeqRange(1) == [0]; - // assert a.i == 0; - - // var b := enum.Invoke(()); - // var c := enum.Invoke(()); - // var d := enum.Invoke(()); - // var e := enum.Invoke(()); - - } - // A proof that a given action only produces // elements from a given set. trait ProducesSetProof { @@ -666,35 +559,11 @@ module Std.Actions { } } - method SetEnumeratorExample() { - var s: set := {1, 2, 3, 4, 5}; - var copy: set := {}; - var e: SetEnumerator := new SetEnumerator(s); - - label before: - for enumerated := 0 to 5 - invariant e.Valid() - invariant enumerated == |e.history| - invariant fresh(e.Repr - old@before(e.Repr)) - { - var x := e.Invoke(()); - copy := copy + {x}; - } - - // TODO: cool enough that we can statically invoke - // the enumerator the right number of times! - // But now prove that copy == s! - // assert |copy| == 5; - // assert copy == s; - } - // Other primitives/examples todo: // * Promise-like single-use Action to capture a value for reading later // * datatype/codatatype-based enumerations // * How to state the invariant that a constructor as an action creates a new object every time? // * Lemma that takes produced as input, instead of forall produced? - // * Enumerable ==> defines e.Enumerator() - // * BUT can have infinite containers, probably need IEnumerable as well? (different T for the Action) // * Expressing that an Action "Eventually produces something" (look at how VMC models this for randomness) // * IsEnumerator(a) == "a eventually produces None" && "a then only produces None" // * Build on that to make CrossProduct(enumerable1, enumerable2) diff --git a/Source/DafnyStandardLibraries/src/Std/Actions/Aggregators.dfy b/Source/DafnyStandardLibraries/src/Std/Actions/Aggregators.dfy index 021dc62141e..4435622e1e9 100644 --- a/Source/DafnyStandardLibraries/src/Std/Actions/Aggregators.dfy +++ b/Source/DafnyStandardLibraries/src/Std/Actions/Aggregators.dfy @@ -296,16 +296,4 @@ module Std.Aggregators { ensures Action().CanConsume(history, next) {} } - - method {:rlimit 0} AggregatorExample() { - var a: ArrayAggregator := new ArrayAggregator(); - var _ := a.Invoke(1); - var _ := a.Invoke(2); - var _ := a.Invoke(3); - var _ := a.Invoke(4); - var _ := a.Invoke(5); - var _ := a.Invoke(6); - assert a.Consumed() == [1, 2, 3, 4, 5, 6]; - assert a.storage.items == [1, 2, 3, 4, 5, 6]; - } } \ No newline at end of file diff --git a/Source/DafnyStandardLibraries/src/Std/Actions/Enumerators.dfy b/Source/DafnyStandardLibraries/src/Std/Actions/Enumerators.dfy index 04c9fc1aa5f..bfbf9827ceb 100644 --- a/Source/DafnyStandardLibraries/src/Std/Actions/Enumerators.dfy +++ b/Source/DafnyStandardLibraries/src/Std/Actions/Enumerators.dfy @@ -285,33 +285,4 @@ module Std.Enumerators { assume {:axiom} false; } } - - class ExamplePipeline extends Pipeline { - constructor(upstream: Enumerator) - requires upstream.Valid() - ensures Valid() - { - this.upstream := upstream; - var buffer := new Collector(); - - Repr := {this} + upstream.Repr + buffer.Repr; - history := []; - this.buffer := buffer; - this.height := upstream.height + buffer.height + 1; - } - - method Process(u: Option, a: Accumulator) - requires a.Valid() - reads a.Repr - modifies a.Repr - ensures a.ValidAndDisjoint() - { - assert a.Valid(); - - if u.Some? { - a.CanConsumeAll(a.history, u.value); - a.Accept(u.value); - } - } - } } diff --git a/Source/DafnyStandardLibraries/src/Std/Actions/README.md b/Source/DafnyStandardLibraries/src/Std/Actions/README.md index e69de29bb2d..04a32e78dac 100644 --- a/Source/DafnyStandardLibraries/src/Std/Actions/README.md +++ b/Source/DafnyStandardLibraries/src/Std/Actions/README.md @@ -0,0 +1,3 @@ +# The `Actions` module + +TODO: High-level documentation of all related modules \ No newline at end of file diff --git a/Source/DafnyStandardLibraries/src/Std/Streams/Streams.dfy b/Source/DafnyStandardLibraries/src/Std/Streams/Streams.dfy index 71dba9f49be..bf1c1c094d2 100644 --- a/Source/DafnyStandardLibraries/src/Std/Streams/Streams.dfy +++ b/Source/DafnyStandardLibraries/src/Std/Streams/Streams.dfy @@ -3,6 +3,7 @@ * SPDX-License-Identifier: MIT *******************************************************************************/ +// TODO: Relocate under Actions/ instead, I don't think Streams has to be a separate library? module Std.Streams { import opened Wrappers @@ -51,8 +52,6 @@ module Std.Streams { ghost const data: BoundedInts.bytes - // TODO: Probably need content type too - ghost predicate Valid() reads this, Repr ensures Valid() ==> this in Repr