Skip to content

refactor(Circuit): describe output tuples with Computes - #948

Open
SamuelSchlesinger wants to merge 2 commits into
mainfrom
samschles/circuit-outputs
Open

SamuelSchlesinger wants to merge 2 commits into
mainfrom
samschles/circuit-outputs

Conversation

@SamuelSchlesinger

@SamuelSchlesinger SamuelSchlesinger commented Sep 24, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Generalize Circuit.Computes to specify all designated outputs as a function returning an output tuple.
  • Add zero-gate Circuit.wiring for selecting, permuting, and duplicating inputs, with size, depth, evaluation, and computation lemmas.
  • Rename synthesis extraction to Synthesis.exists_circuit_outputs and adapt scalar counting, Shannon, Lupanov, and tests to the tuple-valued API.

This is the second part of the split of #943. It builds on #947 and retains the explicit gate-count index; #949 changes that representation.

Validation

  • lake build --wfail --iofail
  • lake exe mk_all --check
  • lake test
  • lake lint
  • lake exe lint-style

Codex assisted with splitting #943 into three focused PRs, adapting this output change to the explicit gate-count representation, and running these local checks.

Comment thread Cslib/Computability/Circuit/Basic.lean Outdated
@SamuelSchlesinger
SamuelSchlesinger changed the base branch from samschles/circuit-shared-boolean to main September 24, 2026 12:38
barni120400 pushed a commit to barni120400/cslib that referenced this pull request Sep 24, 2026
…r#947)

## Summary

- Define `Cslib.BitString` and `Cslib.BooleanFunction` in Foundations.
- Update Boolean circuits to import and use the shared definitions, so
other Boolean complexity developments can use these types without a
circuit dependency.

This is the first part of the split of leanprover#943. The stack continues in leanprover#948
and leanprover#949.

## Validation

- `lake build --wfail --iofail`
- `lake exe mk_all --check`
- `lake test`
- `lake lint`
- `lake exe lint-style`

Codex assisted with splitting leanprover#943 into three focused PRs and running
these local checks.
@SamuelSchlesinger

Copy link
Copy Markdown
Collaborator Author

@fmontesi friendly ping to merge

@SamuelSchlesinger
SamuelSchlesinger added this pull request to stack #953 September 25, 2026 03:01
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