Skip to content
Merged
Show file tree
Hide file tree
Changes from 213 commits
Commits
Show all changes
216 commits
Select commit Hold shift + click to select a range
31afc77
Just Action trait (doesn’t verify yet)
robin-aws May 20, 2024
9ed2550
Use DynamicArray in ArrayAggregator
robin-aws Jun 8, 2024
c7a97c7
Fix verification
robin-aws Jun 9, 2024
813912f
Another type characteristic requirement bites the dust
robin-aws Jun 9, 2024
4162f32
—function-syntax
robin-aws Jun 10, 2024
02ebe4b
More function-syntax
robin-aws Jun 10, 2024
6f7fa28
Sketching out Enumerable<T> trait
robin-aws Jul 4, 2024
a6a245f
Merge branch 'master' of github.com:dafny-lang/dafny into actions-and…
robin-aws Nov 5, 2024
83fc0f3
Fresh snapshot
robin-aws Nov 5, 2024
9d71295
Fixed loop
robin-aws Nov 5, 2024
56776c8
Very cool SetEnumerator example
robin-aws Nov 5, 2024
d5aaabc
Tweaks
robin-aws Nov 5, 2024
5395c16
Aggregators and Enumerators mostly verifying
robin-aws Nov 6, 2024
1732277
ProducesSetProof
robin-aws Nov 7, 2024
a320930
Disable verification in a few places for now
robin-aws Nov 9, 2024
9ed029a
Another one
robin-aws Nov 22, 2024
b25c48a
Lift some common things up
robin-aws Nov 28, 2024
38702a2
Missing postconditions
robin-aws Nov 29, 2024
5e91c5f
Comment
robin-aws Nov 29, 2024
d57c9ea
Missing ghost
robin-aws Dec 11, 2024
153a282
Commenting out some code that doesn't work for Rust
robin-aws Dec 19, 2024
7f583cd
Merge branch 'master' of github.com:dafny-lang/dafny into actions-and…
robin-aws Jan 7, 2025
0dadc06
Add streams as well
robin-aws Jan 9, 2025
3482109
Fix names
robin-aws Jan 10, 2025
fb6199e
Merge branch 'master' of github.com:dafny-lang/dafny into actions-and…
robin-aws Jan 13, 2025
d9c5fcb
Fix verification after CanCall change
robin-aws Jan 13, 2025
ad032b0
Uncomment Folder
robin-aws Jan 13, 2025
0184e8f
CanCall fixes
robin-aws Jan 13, 2025
4abfd81
One more
robin-aws Jan 20, 2025
66cd68d
Typo
robin-aws Jan 20, 2025
fc39970
Progress
robin-aws Jan 21, 2025
d3902b1
Restoring code that doesn’t build for Rust yet
robin-aws Jan 22, 2025
b225c2b
Merge branch 'actions-and-streaming-stdlibs' of github.com:dafny-lang…
robin-aws Jan 22, 2025
218761b
Remove termination false, more axioms for now
robin-aws Jan 24, 2025
2625b51
Partial documentation
robin-aws Jan 24, 2025
e634148
update binaries
robin-aws Jan 24, 2025
5a49fa2
Formatting
robin-aws Jan 24, 2025
8198531
More comments
robin-aws Jan 24, 2025
df2a87c
Extract examples
robin-aws Jan 24, 2025
241da1f
Comment
robin-aws Jan 30, 2025
c04ba47
rename Folder
robin-aws Feb 6, 2025
699a357
More comments
robin-aws Feb 8, 2025
70831a8
Axiom for now to work on 4.9.1
robin-aws Feb 8, 2025
988ef64
Merge branch 'actions-and-streaming-stdlibs' of github.com:dafny-lang…
robin-aws Feb 19, 2025
46e818a
Remove Frames and Examples from top-level namespace
robin-aws Feb 19, 2025
9324986
Merge branch 'master' of github.com:dafny-lang/dafny into actions-and…
robin-aws Feb 22, 2025
ffdf0ea
ComposedAction (mostly)
robin-aws Feb 23, 2025
b31a8b0
Partial work
robin-aws Feb 24, 2025
458dbdd
PR feedback, progress on composed action example
robin-aws Feb 28, 2025
029769e
Rebuild doo files
robin-aws Feb 28, 2025
6803390
Big renaming of several concepts
robin-aws Feb 28, 2025
c6a81fc
Complete renaming
robin-aws Mar 3, 2025
010f084
Partial FilteredDynProducer
robin-aws Mar 3, 2025
31e9fbe
Another rename
robin-aws Mar 3, 2025
39aca2e
Merge branch 'master' of github.com:dafny-lang/dafny into actions-and…
robin-aws Mar 4, 2025
14aa36d
Concat
robin-aws Mar 4, 2025
f98f30c
enforce-determinism fixes
robin-aws Mar 4, 2025
79ec904
Nix RepeatUntil
robin-aws Mar 4, 2025
c6d031b
Rename (again), refactor Pipeline
robin-aws Mar 5, 2025
b2c6e49
Improve ValidOutput
robin-aws Mar 5, 2025
075ac2a
Iterators example
robin-aws Mar 6, 2025
3b98a2a
Several todos
robin-aws Mar 6, 2025
eba08b2
Cleanup
robin-aws Mar 6, 2025
754c238
Refactor Producer specification, mostly verifying again
robin-aws Mar 6, 2025
7281f0f
More renames, SeqProducer verifies!
robin-aws Mar 7, 2025
8a8c890
Progress on FilteredProducer
robin-aws Mar 7, 2025
28defd2
More progress
robin-aws Mar 7, 2025
6e1840e
Move stuff to Seq.dfy, use TerminationMetric
robin-aws Mar 8, 2025
1686509
Simplified TerminationMetric
robin-aws Mar 8, 2025
09e7a3f
decreases fixes
robin-aws Mar 8, 2025
fa41adc
LimitedProducer verifies!
robin-aws Mar 8, 2025
5de44c6
LimitedProducer verifies!
robin-aws Mar 8, 2025
118e906
Progress on FilteredProducer
robin-aws Mar 8, 2025
051fd28
FilteredProducer verifies! (except for one recursive call)
robin-aws Mar 8, 2025
8791c0c
ConcatenatedProducer verifies!!
robin-aws Mar 8, 2025
787ed46
Start on Pipeline
robin-aws Mar 8, 2025
163b24b
FlattenedProducer almost verifies
robin-aws Mar 9, 2025
a3f1bf0
MappedProducer verifies!!!
robin-aws Mar 9, 2025
c24e932
Progress on FlattenedProducer
robin-aws Mar 9, 2025
04f2677
FlattenedProducer verifies!!!!
robin-aws Mar 9, 2025
02dca4f
Fixing up examples
robin-aws Mar 9, 2025
a5bab11
Cleanup
robin-aws Mar 9, 2025
8136253
Merge branch 'master' into actions-and-streaming-stdlibs
robin-aws Mar 9, 2025
bcb92ef
More cleanup, regenerate code
robin-aws Mar 9, 2025
5b8fca5
Revert typo
robin-aws Mar 9, 2025
61caa4d
Merge branch 'actions-and-streaming-stdlibs' of github.com:dafny-lang…
robin-aws Mar 10, 2025
a370d43
Cleanup, fix Java code generator bug
robin-aws Mar 10, 2025
60cd11c
Formatting etc
robin-aws Mar 10, 2025
0280bf5
Typo
robin-aws Mar 10, 2025
03d8edb
Merge branch 'master' into actions-and-streaming-stdlibs
robin-aws Mar 10, 2025
75b7dd0
Partial fixes to flattened bug and TM soundness issue
robin-aws Mar 16, 2025
f7a2713
Merge branch 'actions-and-streaming-stdlibs' of github.com:dafny-lang…
robin-aws Mar 16, 2025
dac5d5e
Fix TM soundness issue, flattened implementation and most verification
robin-aws Mar 18, 2025
a05d010
Flattened verifying again (except for height axiom cheat)
robin-aws Mar 18, 2025
d98bb28
Nix height, use remaining for decreases on producers (mostly working)
robin-aws Mar 18, 2025
3f4e01e
Producers verifying again!
robin-aws Mar 18, 2025
3934dc8
Fixed examples
robin-aws Mar 18, 2025
892cb37
Formatting
robin-aws Mar 18, 2025
70a30ab
Two unnecessary axioms
robin-aws Mar 19, 2025
a8d0528
Merge branch 'master' of github.com:dafny-lang/dafny into actions-and…
robin-aws Mar 19, 2025
418a5cc
Clean up proofs in Producers.dfy, address doc todo
robin-aws Mar 19, 2025
5cd3198
comments and formatting
robin-aws Mar 19, 2025
6519c4b
Improve examples, partial proof of Ordinal()
robin-aws Mar 20, 2025
76c8ab4
Completed proof for a good subset of decreaes cases
robin-aws Mar 21, 2025
170ae05
Reorg
robin-aws Mar 21, 2025
374574f
Added datatype case (and nuked Top for now)
robin-aws Mar 21, 2025
087a44c
TMSeq (mostly) added too
robin-aws Mar 21, 2025
9823e71
Add last seq case
robin-aws Mar 21, 2025
f9479bf
Change approach to avoid transitivity unsoundness
robin-aws Mar 21, 2025
ce9c0a5
Verify sequence Ordinal() (WHEW)
robin-aws Mar 22, 2025
60e3e26
Fix Frames, make Ordinal() not opaque
robin-aws Mar 23, 2025
02355f0
Fix Actions syntactically
robin-aws Mar 23, 2025
df6f99c
Refactor and progress
robin-aws Mar 23, 2025
b6a7484
More progress
robin-aws Mar 24, 2025
2284430
More progress
robin-aws Mar 25, 2025
b615c46
One issue left
robin-aws Mar 25, 2025
fc744c5
Partial work to fix new producers issue
robin-aws Mar 25, 2025
fa5c04a
Eliminate axiom
robin-aws Mar 25, 2025
4ec3892
Clean up examples
robin-aws Mar 25, 2025
a4ed862
Merge branch 'master' of github.com:dafny-lang/dafny into actions-and…
robin-aws Mar 25, 2025
341259d
Fixes
robin-aws Mar 26, 2025
dd5abe6
Fix type-system-refresh regressions
robin-aws Mar 26, 2025
aaa0f47
Merge branch 'master' into actions-and-streaming-stdlibs
robin-aws Mar 26, 2025
bfadc5d
Remove example from source
robin-aws Mar 26, 2025
a0eea70
Merge branch 'actions-and-streaming-stdlibs' of github.com:dafny-lang…
robin-aws Mar 26, 2025
aeb6810
Remove height, extract Ordinal module and progress on proofs
robin-aws Mar 28, 2025
17f577e
Lots of progress on proving oridinal lemmas
robin-aws Mar 30, 2025
cc2bf6a
Progressed but found typo, capturing state before reverting to axioms
robin-aws Mar 31, 2025
ed3c74c
Flip Ordinal arguments to use < and <= instead
robin-aws Mar 31, 2025
72d4553
Remove TerminationMetric.Valid(), improve resource limits
robin-aws Mar 31, 2025
38a1d3b
Improve Producers verification efficiency
robin-aws Mar 31, 2025
74fe8b6
docs and formatting
robin-aws Mar 31, 2025
ade6bff
Release note, fix examples
robin-aws Mar 31, 2025
685ef64
Merge branch 'master' of github.com:dafny-lang/dafny into actions-and…
robin-aws Mar 31, 2025
d8b24c5
Cleanup, removing unneeded assertions
robin-aws Apr 2, 2025
3430798
PR feedback
robin-aws Apr 7, 2025
5000d77
Merge branch 'master' of github.com:dafny-lang/dafny into actions-and…
robin-aws Apr 7, 2025
e55f545
Poke CI
robin-aws Apr 7, 2025
e4d6452
MakeSetReader extern and Java implementation
robin-aws Apr 12, 2025
3c0ba8c
SetToSeq working (as example)
robin-aws Apr 12, 2025
59dc0d1
Implement C#
robin-aws Apr 13, 2025
4285f10
Missing proof impl
robin-aws Apr 14, 2025
3a5f331
Typo
robin-aws Apr 15, 2025
277a222
Starting to add bulk support (for data stream-style producers)
robin-aws Apr 16, 2025
ecc2a99
Much progress, such bulk
robin-aws Apr 16, 2025
0d7ae25
Optimization working
robin-aws Apr 16, 2025
4b08262
ForEachRemaining optimizations
robin-aws Apr 17, 2025
6a24db4
Progress on solving the bulk producers output problem
robin-aws Apr 17, 2025
a769ee4
ValidChange
robin-aws Apr 17, 2025
6360b7f
Attempting ValidChange, having trouble with using it as precondition
robin-aws Apr 18, 2025
c8b6882
Aha, ValidChange can’t be “opaque”
robin-aws Apr 18, 2025
cf5a763
Fixed DefaultForEachRemaining
robin-aws Apr 18, 2025
1ae4c19
All but one assertion in Chunker.BulkInvoke
robin-aws Apr 18, 2025
6fd2120
RemainingMetric -> DecreasesMetric
robin-aws Apr 19, 2025
e9ad018
Adding Remaining() and Capacity()
robin-aws Apr 21, 2025
498a730
Got concatenated Remaining() verifying
robin-aws Apr 22, 2025
f588115
Typo fix
robin-aws Apr 22, 2025
0e3c4a1
Got Chunker verifying
robin-aws Apr 22, 2025
6620e9f
Partial fix to Capacity() issues
robin-aws Apr 22, 2025
ce04515
Fixed Consumers
robin-aws Apr 23, 2025
85c8a70
Fix BulkActions
robin-aws Apr 23, 2025
ed4e807
Whoops, fix Producers
robin-aws Apr 23, 2025
d36a56d
Added fresh(Repr - old(Repr)) to ValidChange()
robin-aws Apr 23, 2025
a56a1b1
Hmmm
robin-aws Apr 23, 2025
e06e7c1
Avoid “is I -> O” test only the new resolver supports
robin-aws Apr 23, 2025
4171b96
ProducedCount()
robin-aws Apr 24, 2025
294c0c5
Fixed Producers
robin-aws Apr 24, 2025
85228d4
Progress on BulkInvoke
robin-aws Apr 24, 2025
956edf2
BatchReader.Remaining()
robin-aws Apr 25, 2025
904b2f3
Whoops
robin-aws Apr 25, 2025
66ff10e
BatchArrayWriter
robin-aws Apr 25, 2025
828d139
IgnoreNConsumer
robin-aws Apr 25, 2025
f2b5de5
Values()
robin-aws Apr 25, 2025
9d7a4a9
Rename StreamedValue -> Batched
robin-aws Apr 25, 2025
0e73df3
Partial fix to ForEachToCapacity leftover problem
robin-aws Apr 25, 2025
371c37c
ForEachToCapacity -> Fill
robin-aws Apr 26, 2025
d40b305
Remove example
robin-aws Apr 27, 2025
25d4881
Verification fixes
robin-aws Apr 29, 2025
064f5ea
ProducerOfNewProducersProof
robin-aws Apr 29, 2025
6d9ac3b
Verification fixes
robin-aws Apr 29, 2025
218f853
Partial work
robin-aws Apr 30, 2025
9c201fb
Revert "Partial work"
robin-aws Apr 30, 2025
dad8584
Revert "Verification fixes"
robin-aws Apr 30, 2025
7e2963a
Revert "ProducerOfNewProducersProof"
robin-aws Apr 30, 2025
cddbe6c
Gave up and duplicated types for now
robin-aws May 1, 2025
4a27666
Check for —hidden-no-verify in CI
robin-aws May 1, 2025
e3d7463
Missing postcondition
robin-aws May 2, 2025
db83eb2
(Mostly) fix Fill
robin-aws May 3, 2025
bcb8ddc
Partial work fixing Fill verification
robin-aws May 5, 2025
0c11991
Fix producers.dfy
robin-aws May 19, 2025
e563ca2
Merge branch 'master' of github.com:dafny-lang/dafny into actions-and…
robin-aws May 19, 2025
cdcfd29
Merge branch 'actions-and-streaming-stdlibs' into more-streaming-libs
robin-aws May 19, 2025
bc69fa3
Progress on the last proof
robin-aws Jun 16, 2025
fb328a0
Progress
robin-aws Jun 16, 2025
65f6be5
Fixed producers
robin-aws Jun 17, 2025
6f56910
Fixed bulkactions
robin-aws Jun 17, 2025
d89830e
Merge branch 'master' of github.com:dafny-lang/dafny into more-stream…
robin-aws Jun 17, 2025
6b72df8
Doo files
robin-aws Jun 17, 2025
7c141aa
Fixed C#
robin-aws Jun 17, 2025
d0c20ed
make test-cs works
robin-aws Jun 17, 2025
6980a6d
Fix Java
robin-aws Jun 18, 2025
503fcef
make pr
robin-aws Jun 18, 2025
62914b0
Target-specific testing
robin-aws Jun 19, 2025
4eca299
docs
robin-aws Jun 19, 2025
43b8ed4
Fix hidden-no-verify
robin-aws Jun 19, 2025
2770487
Merge branch 'master' into more-streaming-libs
robin-aws Jun 19, 2025
b135e7a
Whoops
robin-aws Jun 19, 2025
bbfc8f9
Fix hidden-no-verify check
robin-aws Jun 19, 2025
cde8389
Merge branch 'more-streaming-libs' of github.com:dafny-lang/dafny int…
robin-aws Jun 19, 2025
438af1e
Typo
robin-aws Jun 19, 2025
dc206fc
Add rows to the supported features table
robin-aws Jun 19, 2025
0e42a52
rebuild
robin-aws Jun 19, 2025
92e04df
Silly things
robin-aws Jun 19, 2025
dc02689
Fornat
robin-aws Jun 20, 2025
cc47214
PR feedback
robin-aws Jun 23, 2025
1233be2
Merge branch 'master' into more-streaming-libs
robin-aws Jun 23, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion Source/DafnyCore/Backends/Cplusplus/CppCodeGenerator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,9 @@ public CppCodeGenerator(DafnyOptions options, ErrorReporter reporter, ReadOnlyCo
Feature.UnicodeChars,
Feature.ConvertingValuesToStrings,
Feature.BuiltinsInRuntime,
Feature.RuntimeCoverageReport
Feature.RuntimeCoverageReport,
Feature.StandardLibraries,
Feature.StandardLibrariesActionsExterns
};

private List<DatatypeDecl> datatypeDecls = [];
Expand Down
4 changes: 3 additions & 1 deletion Source/DafnyCore/Backends/Dafny/DafnyCodeGenerator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,9 @@ public void AddUnsupportedFeature(IOrigin tok, Feature feature) {
Feature.ForLoops,
Feature.Traits,
Feature.RuntimeCoverageReport,
Feature.NonNativeNewtypes
Feature.NonNativeNewtypes,
Feature.StandardLibraries,
Feature.StandardLibrariesActionsExterns
};

private readonly List<string> Imports = [DafnyDefaultModule];
Expand Down
3 changes: 2 additions & 1 deletion Source/DafnyCore/Backends/GoLang/GoCodeGenerator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,8 @@ public GoCodeGenerator(DafnyOptions options, ErrorReporter reporter) : base(opti
Feature.ExternalConstructors,
Feature.SubsetTypeTests,
Feature.AllUnderscoreExternalModuleNames,
Feature.RuntimeCoverageReport
Feature.RuntimeCoverageReport,
Feature.StandardLibrariesActionsExterns
};

public override string ModuleSeparator => "_";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ public JavaScriptCodeGenerator(DafnyOptions options, ErrorReporter reporter) : b
Feature.ExternalConstructors,
Feature.SubsetTypeTests,
Feature.SeparateCompilation,
Feature.RuntimeCoverageReport
Feature.RuntimeCoverageReport,
Feature.StandardLibrariesActionsExterns
};

public override string ModuleSeparator => "_";
Expand Down
3 changes: 2 additions & 1 deletion Source/DafnyCore/Backends/Python/PythonCodeGenerator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,8 @@ public PythonCodeGenerator(DafnyOptions options, ErrorReporter reporter) : base(
public override IReadOnlySet<Feature> UnsupportedFeatures => new HashSet<Feature> {
Feature.SubsetTypeTests,
Feature.MethodSynthesis,
Feature.RuntimeCoverageReport
Feature.RuntimeCoverageReport,
Feature.StandardLibrariesActionsExterns
};

public override string ModuleSeparator => "_";
Expand Down
8 changes: 7 additions & 1 deletion Source/DafnyCore/Feature.cs
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,13 @@ and where at least one variable has potentially infinite bounds.
BuiltinsInRuntime,

[FeatureDescription("Execution coverage report", "sec-dafny-test")]
RuntimeCoverageReport
RuntimeCoverageReport,

[FeatureDescription("Standard libraries", "sec-dafny-standard-libraries")]
StandardLibraries,

[FeatureDescription("Standard library ActionsExterns", "sec-dafny-standard-libraries")]
StandardLibrariesActionsExterns
}

public class UnsupportedFeatureException : Exception {
Expand Down
12 changes: 6 additions & 6 deletions Source/DafnyCore/GeneratedFromDafny/DCOMP.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1971,7 +1971,7 @@ public RAST._IImplMember GenMethod(DAST._IMethod m, bool forTrait, DAST._IType e
{
if (_source0.is_UserDefined) {
DAST._IResolvedType _11_r = _source0.dtor_resolved;
_10_instanceType = DAST.Type.create_UserDefined(Dafny.Helpers.Let<DAST._IResolvedType, DAST._IResolvedType>(_11_r, _pat_let71_0 => Dafny.Helpers.Let<DAST._IResolvedType, DAST._IResolvedType>(_pat_let71_0, _12_dt__update__tmp_h0 => Dafny.Helpers.Let<Dafny.ISequence<DAST._IType>, DAST._IResolvedType>(_pat_let_tv0, _pat_let72_0 => Dafny.Helpers.Let<Dafny.ISequence<DAST._IType>, DAST._IResolvedType>(_pat_let72_0, _13_dt__update_htypeArgs_h0 => DAST.ResolvedType.create((_12_dt__update__tmp_h0).dtor_path, _13_dt__update_htypeArgs_h0, (_12_dt__update__tmp_h0).dtor_kind, (_12_dt__update__tmp_h0).dtor_attributes, (_12_dt__update__tmp_h0).dtor_properMethods, (_12_dt__update__tmp_h0).dtor_extendedTypes))))));
_10_instanceType = DAST.Type.create_UserDefined(Dafny.Helpers.Let<DAST._IResolvedType, DAST._IResolvedType>(_11_r, _pat_let72_0 => Dafny.Helpers.Let<DAST._IResolvedType, DAST._IResolvedType>(_pat_let72_0, _12_dt__update__tmp_h0 => Dafny.Helpers.Let<Dafny.ISequence<DAST._IType>, DAST._IResolvedType>(_pat_let_tv0, _pat_let73_0 => Dafny.Helpers.Let<Dafny.ISequence<DAST._IType>, DAST._IResolvedType>(_pat_let73_0, _13_dt__update_htypeArgs_h0 => DAST.ResolvedType.create((_12_dt__update__tmp_h0).dtor_path, _13_dt__update_htypeArgs_h0, (_12_dt__update__tmp_h0).dtor_kind, (_12_dt__update__tmp_h0).dtor_attributes, (_12_dt__update__tmp_h0).dtor_properMethods, (_12_dt__update__tmp_h0).dtor_extendedTypes))))));
goto after_match0;
}
}
Expand Down Expand Up @@ -2998,7 +2998,7 @@ public void GenStmt(DAST._IStatement stmt, Defs._ISelfInfo selfIdent, Defs._IEnv
Dafny.ISequence<Dafny.Rune> _80_param;
_80_param = ((_74_oldEnv).dtor_names).Select(_79_paramI);
if ((_80_param).Equals(Dafny.Sequence<Dafny.Rune>.UnicodeFromString("_accumulator"))) {
goto continue_3;
goto continue_4;
}
RAST._IExpr _81_paramInit;
Defs._IOwnership _82___v43;
Expand All @@ -3020,9 +3020,9 @@ public void GenStmt(DAST._IStatement stmt, Defs._ISelfInfo selfIdent, Defs._IEnv
newEnv = (newEnv).AddAssigned(_84_recVar, _85_declaredType);
}
_78_loopBegin = (_78_loopBegin).Then(RAST.Expr.create_DeclareVar(RAST.DeclareType.create_CONST(), _80_param, Std.Wrappers.Option<RAST._IType>.create_None(), Std.Wrappers.Option<RAST._IExpr>.create_Some(RAST.Expr.create_Identifier(_84_recVar))));
continue_3: ;
continue_4: ;
}
after_3: ;
after_4: ;
RAST._IExpr _86_bodyExpr;
Dafny.ISet<Dafny.ISequence<Dafny.Rune>> _87_bodyIdents;
Defs._IEnvironment _88_bodyEnv;
Expand Down Expand Up @@ -4279,7 +4279,7 @@ public bool SameTypesButDifferentTypeParameters(DAST._IType fromType, RAST._ITyp
var arr19 = new Std.Wrappers._IResult<RAST._IExpr, _System._ITuple5<DAST._IType, RAST._IType, DAST._IType, RAST._IType, Dafny.IMap<_System._ITuple2<RAST._IType, RAST._IType>,RAST._IExpr>>>[Dafny.Helpers.ToIntChecked(dim19, "array size exceeds memory limit")];
for (int i19 = 0; i19 < dim19; i19++) {
var _13_j = (BigInteger) i19;
arr19[(int)(_13_j)] = Dafny.Helpers.Let<BigInteger, Std.Wrappers._IResult<RAST._IExpr, _System._ITuple5<DAST._IType, RAST._IType, DAST._IType, RAST._IType, Dafny.IMap<_System._ITuple2<RAST._IType, RAST._IType>,RAST._IExpr>>>>((_6_indices).Select(_13_j), _pat_let73_0 => Dafny.Helpers.Let<BigInteger, Std.Wrappers._IResult<RAST._IExpr, _System._ITuple5<DAST._IType, RAST._IType, DAST._IType, RAST._IType, Dafny.IMap<_System._ITuple2<RAST._IType, RAST._IType>,RAST._IExpr>>>>(_pat_let73_0, _14_i => (this).UpcastConversionLambda((((_pat_let_tv0).dtor_resolved).dtor_typeArgs).Select(_14_i), ((_pat_let_tv1).dtor_arguments).Select(_14_i), (((_pat_let_tv2).dtor_resolved).dtor_typeArgs).Select(_14_i), ((_pat_let_tv3).dtor_arguments).Select(_14_i), _pat_let_tv4)));
arr19[(int)(_13_j)] = Dafny.Helpers.Let<BigInteger, Std.Wrappers._IResult<RAST._IExpr, _System._ITuple5<DAST._IType, RAST._IType, DAST._IType, RAST._IType, Dafny.IMap<_System._ITuple2<RAST._IType, RAST._IType>,RAST._IExpr>>>>((_6_indices).Select(_13_j), _pat_let74_0 => Dafny.Helpers.Let<BigInteger, Std.Wrappers._IResult<RAST._IExpr, _System._ITuple5<DAST._IType, RAST._IType, DAST._IType, RAST._IType, Dafny.IMap<_System._ITuple2<RAST._IType, RAST._IType>,RAST._IExpr>>>>(_pat_let74_0, _14_i => (this).UpcastConversionLambda((((_pat_let_tv0).dtor_resolved).dtor_typeArgs).Select(_14_i), ((_pat_let_tv1).dtor_arguments).Select(_14_i), (((_pat_let_tv2).dtor_resolved).dtor_typeArgs).Select(_14_i), ((_pat_let_tv3).dtor_arguments).Select(_14_i), _pat_let_tv4)));
}
return Dafny.Sequence<Std.Wrappers._IResult<RAST._IExpr, _System._ITuple5<DAST._IType, RAST._IType, DAST._IType, RAST._IType, Dafny.IMap<_System._ITuple2<RAST._IType, RAST._IType>,RAST._IExpr>>>>.FromArray(arr19);
}))());
Expand Down Expand Up @@ -7120,7 +7120,7 @@ public void GenExpr(DAST._IExpression e, Defs._ISelfInfo selfIdent, Defs._IEnvir
for (BigInteger _428_i = BigInteger.Zero; _428_i < _hi16; _428_i++) {
var _pat_let_tv0 = _425_extraAttributes;
var _pat_let_tv1 = _426_formals;
_427_newFormals = Dafny.Sequence<DAST._IFormal>.Concat(_427_newFormals, Dafny.Sequence<DAST._IFormal>.FromElements(Dafny.Helpers.Let<DAST._IFormal, DAST._IFormal>((_426_formals).Select(_428_i), _pat_let74_0 => Dafny.Helpers.Let<DAST._IFormal, DAST._IFormal>(_pat_let74_0, _429_dt__update__tmp_h0 => Dafny.Helpers.Let<Dafny.ISequence<DAST._IAttribute>, DAST._IFormal>(Dafny.Sequence<DAST._IAttribute>.Concat(_pat_let_tv0, ((_pat_let_tv1).Select(_428_i)).dtor_attributes), _pat_let75_0 => Dafny.Helpers.Let<Dafny.ISequence<DAST._IAttribute>, DAST._IFormal>(_pat_let75_0, _430_dt__update_hattributes_h0 => DAST.Formal.create((_429_dt__update__tmp_h0).dtor_name, (_429_dt__update__tmp_h0).dtor_typ, _430_dt__update_hattributes_h0)))))));
_427_newFormals = Dafny.Sequence<DAST._IFormal>.Concat(_427_newFormals, Dafny.Sequence<DAST._IFormal>.FromElements(Dafny.Helpers.Let<DAST._IFormal, DAST._IFormal>((_426_formals).Select(_428_i), _pat_let75_0 => Dafny.Helpers.Let<DAST._IFormal, DAST._IFormal>(_pat_let75_0, _429_dt__update__tmp_h0 => Dafny.Helpers.Let<Dafny.ISequence<DAST._IAttribute>, DAST._IFormal>(Dafny.Sequence<DAST._IAttribute>.Concat(_pat_let_tv0, ((_pat_let_tv1).Select(_428_i)).dtor_attributes), _pat_let76_0 => Dafny.Helpers.Let<Dafny.ISequence<DAST._IAttribute>, DAST._IFormal>(_pat_let76_0, _430_dt__update_hattributes_h0 => DAST.Formal.create((_429_dt__update__tmp_h0).dtor_name, (_429_dt__update__tmp_h0).dtor_typ, _430_dt__update_hattributes_h0)))))));
}
DAST._IExpression _431_newLambda;
DAST._IExpression _432_dt__update__tmp_h1 = _420_lambda;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@ public RAST._IMod ToRust() {
var arr16 = new RAST._IModDecl[Dafny.Helpers.ToIntChecked(dim16, "array size exceeds memory limit")];
for (int i16 = 0; i16 < dim16; i16++) {
var _4_i = (BigInteger) i16;
arr16[(int)(_4_i)] = Dafny.Helpers.Let<Dafny.ISequence<Dafny.Rune>, RAST._IModDecl>((_0_keysWithContent).Select(_4_i), _pat_let69_0 => Dafny.Helpers.Let<Dafny.ISequence<Dafny.Rune>, RAST._IModDecl>(_pat_let69_0, _5_moduleName => Dafny.Helpers.Let<RAST._IMod, RAST._IModDecl>((Dafny.Map<Dafny.ISequence<Dafny.Rune>, DafnyCompilerRustUtils._IGatheringModule>.Select(((this).dtor_submodules).dtor_values,_5_moduleName)).ToRust(), _pat_let70_0 => Dafny.Helpers.Let<RAST._IMod, RAST._IModDecl>(_pat_let70_0, _6_submodule => RAST.ModDecl.create_ModDecl(_6_submodule)))));
arr16[(int)(_4_i)] = Dafny.Helpers.Let<Dafny.ISequence<Dafny.Rune>, RAST._IModDecl>((_0_keysWithContent).Select(_4_i), _pat_let70_0 => Dafny.Helpers.Let<Dafny.ISequence<Dafny.Rune>, RAST._IModDecl>(_pat_let70_0, _5_moduleName => Dafny.Helpers.Let<RAST._IMod, RAST._IModDecl>((Dafny.Map<Dafny.ISequence<Dafny.Rune>, DafnyCompilerRustUtils._IGatheringModule>.Select(((this).dtor_submodules).dtor_values,_5_moduleName)).ToRust(), _pat_let71_0 => Dafny.Helpers.Let<RAST._IMod, RAST._IModDecl>(_pat_let71_0, _6_submodule => RAST.ModDecl.create_ModDecl(_6_submodule)))));
}
return Dafny.Sequence<RAST._IModDecl>.FromArray(arr16);
}))());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public static RAST._IMod applyPrefix(RAST._IMod mod, RAST._IPath SelfPath)
}
}
public static __T UniqueElementOf<__T>(Dafny.ISet<__T> s) {
return Dafny.Helpers.Let<int, __T>(0, _let_dummy_68 => {
return Dafny.Helpers.Let<int, __T>(0, _let_dummy_69 => {
__T _0_e = default(__T);
foreach (__T _assign_such_that_0 in (s).Elements) {
_0_e = (__T)_assign_such_that_0;
Expand Down
Loading
Loading