@@ -806,11 +806,14 @@ type 'f runtime_tables_cfg =
806806
807807(* * The constraint system. *)
808808type ('f, 'rust_gates) t =
809- { (* Map of cells that share the same value (enforced by to the permutation). *)
809+ { (* Map of cells that share the same value (enforced by to the
810+ permutation). *)
810811 equivalence_classes : Row .t Position .t list V.Table .t
811- ; (* How to compute each internal variable (as a linear combination of other variables). *)
812+ ; (* How to compute each internal variable (as a linear combination of other
813+ variables). *)
812814 internal_vars : (('f * V .t ) list * 'f option ) Internal_var.Table .t
813- ; (* The variables that hold each witness value for each row, in reverse order. *)
815+ ; (* The variables that hold each witness value for each row, in reverse
816+ order. *)
814817 mutable rows_rev : V .t option array list
815818 ; (* A circuit is described by a series of gates.
816819 A gate is finalized once [finalize_and_get_gates] is called.
@@ -826,7 +829,8 @@ type ('f, 'rust_gates) t =
826829 ; mutable runtime_tables_cfg : 'f runtime_tables_cfg
827830 ; (* The row to use the next time we add a constraint. *)
828831 mutable next_row : int
829- ; (* The size of the public input (which fills the first rows of our constraint system. *)
832+ ; (* The size of the public input (which fills the first rows of our
833+ constraint system. *)
830834 public_input_size : int Core_kernel.Set_once .t
831835 ; (* The number of previous recursion challenges. *)
832836 prev_challenges : int Core_kernel.Set_once .t
@@ -840,15 +844,16 @@ type ('f, 'rust_gates) t =
840844 *)
841845 cached_constants : ('f , V .t ) Core_kernel.Hashtbl .t
842846 (* The [equivalence_classes] field keeps track of the positions which must be
843- enforced to be equivalent due to the fact that they correspond to the same V.t value.
844- I.e., positions that are different usages of the same [V.t].
845-
846- We use a union-find data structure to track equalities that a constraint system wants
847- enforced *between* [V.t] values. Then, at the end, for all [V.t]s that have been unioned
848- together, we combine their equivalence classes in the [equivalence_classes] table into
849- a single equivalence class, so that the permutation argument enforces these desired equalities
850- as well.
851- *)
847+ enforced to be equivalent due to the fact that they correspond to
848+ the same V.t value.
849+ I.e., positions that are different usages of the same [V.t].
850+
851+ We use a union-find data structure to track equalities that a
852+ constraint system wants enforced *between* [V.t] values. Then, at
853+ the end, for all [V.t]s that have been unioned together, we combine
854+ their equivalence classes in the [equivalence_classes] table into a
855+ single equivalence class, so that the permutation argument enforces
856+ these desired equalities as well. *)
852857 ; union_finds : V .t Core_kernel.Union_find .t V.Table .t
853858 }
854859
0 commit comments