Skip to content

Link file for air #728

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

Closed
wants to merge 59 commits into from
Closed

Link file for air #728

wants to merge 59 commits into from

Conversation

InfiniteEchoes
Copy link
Collaborator

@InfiniteEchoes InfiniteEchoes commented Apr 21, 2025

This PR:

  • Compiled and added Plonky3 into repository
  • Integrated its corresponded part into CI
  • Provided basic templates for air file, with its dependencies sufficiently explored. Future task on air link can be safely cut into smaller tasks

Comment on lines 21 to 26
(* NOTE: It looks like Coq will take infinitely long time to find an
appropriate class for this instance *)
Global Instance IsLink (T V : Set) : Link (t T V) := {
Φ := Ty.apply (Ty.path "plonky3::matrix::dense::DenseMatrix") [ φ T; φ V ] [];
φ := to_value;
}.
Copy link
Collaborator Author

@InfiniteEchoes InfiniteEchoes May 14, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coq cannot find correct class for this instance.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK yes in some cases Rocq prefers to make an infinite loop instead of showing a clean error message.

Maybe you can specify the type parameters of to_value? With to_value (T := T) (V := V) for example?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

According to https://github.com/formal-land/coq-of-rust/blob/main/CoqOfRust/lib/lib.v#L33 it should be:

Suggested change
(* NOTE: It looks like Coq will take infinitely long time to find an
appropriate class for this instance *)
Global Instance IsLink (T V : Set) : Link (t T V) := {
Φ := Ty.apply (Ty.path "plonky3::matrix::dense::DenseMatrix") [ φ T; φ V ] [];
φ := to_value;
}.
(* NOTE: It looks like Coq will take infinitely long time to find an
appropriate class for this instance *)
Global Instance IsLink (T V : Set) : Link (t T V) := {
Φ := Ty.apply (Ty.path "plonky3::matrix::dense::DenseMatrix") [ ] [ φ T; φ V ];
φ := to_value;
}.

@clarus
Copy link
Collaborator

clarus commented May 16, 2025

A squashed version is available there: #736 I am merging it once it is green!

@InfiniteEchoes InfiniteEchoes changed the title WIP: Link file for air Link file for air May 17, 2025
@InfiniteEchoes
Copy link
Collaborator Author

Closed and being continued in #737 .

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.

2 participants