new-cs.lisp 583 B

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