Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Jasmin, Mathcomp2 and Coq.8.18.0-8.20.0 #53

Draft
wants to merge 418 commits into
base: main
Choose a base branch
from

Conversation

4ever2
Copy link
Collaborator

@4ever2 4ever2 commented Jan 22, 2025

#39 with added support for Coq 8.19 & 8.20

bshvass and others added 30 commits April 21, 2022 16:50
important changes:
- the translation of `app_sopn` binds to a list instead of a tuple
- the translation of `app_sopn` does not truncate when it binds, but
  when it applies the operations
- the translation of `app_sopn` uses axiom of choice, since it needs a
  `choiceType` of `list typed_chElement` (i think, though, that it can
  proven to be a `choiceType` without axioms)

other notes:
- the proof `app_sopn_list_correct` is *very* slow (~10min on my
  machine), since it needs to destruct on the list of values and list
  of input types of the operations.
- I kept variants `bind_list_to_tuple` in here if we need it for something
  else. I also kept attempts and correctness proofs about these
  constructions. It can all safely be deleted.
…nslation

Procedure calls need to know at which type they happen, so we pass around a
typing environment in the translation of instructions. This environment is
built from the translation of a program by projecting the translated functions
to their input- and output-types.
generalized correctness theorem of `write_lval`
haselwarter and others added 30 commits February 1, 2023 11:16
makes all translated programs deterministic
# Conflicts:
#	README.md
#	_CoqProject
#	flake.lock
#	flake.nix
#	ssprove.opam
#	theories/Crypt/Casts.v
#	theories/Crypt/choice_type.v
#	theories/Crypt/examples/DDH.v
#	theories/Crypt/examples/OVN.v
#	theories/Crypt/examples/Schnorr.v
#	theories/Crypt/examples/concrete_groups.v
#	theories/Crypt/package/pkg_advantage.v
#	theories/Crypt/package/pkg_composition.v
#	theories/Crypt/package/pkg_distr.v
#	theories/Crypt/package/pkg_heap.v
#	theories/Crypt/package/pkg_invariants.v
#	theories/Crypt/package/pkg_rhl.v
#	theories/Crypt/rhl_semantics/only_prob/Theta_exCP.v
#	theories/Crypt/rules/RulesProb.v
#	theories/Crypt/rules/RulesStateProb.v
#	theories/Crypt/rules/UniformDistrLemmas.v
#	theories/Crypt/rules/UniformStateProb.v
#	theories/Relational/GenericRulesSimple.v
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants