new-cs.lisp 558 B

123456789101112131415161718192021222324252627282930313233
  1. (println "new-cs.lisp")
  2. (
  3. (setup
  4. (let* [aux (scalar 3)
  5. x (alloc "x" aux)
  6. x2 (alloc "x2" (* aux aux))
  7. x3 (alloc "x3" (* aux (* aux aux)))
  8. input (alloc-input "input variable" aux)]
  9. ;; (enforce left right output)
  10. (
  11. (enforce
  12. (scalar::one x)
  13. (scalar::one x)
  14. (scalar::one x2)
  15. )
  16. (enforce
  17. (scalar::one x2)
  18. (scalar::one x)
  19. (scalar::one x3)
  20. )
  21. (enforce
  22. (scalar::one input)
  23. (scalar::one cs::one)
  24. (scalar::one x3)
  25. )
  26. )
  27. )
  28. )
  29. (prove)
  30. )
  31. ;; (println 'verify (MyCircuit (scalar 27)))