; DSA Signature Verification (lambda (dp sig pubkey e) (let ((r (car sig))(s (cdr sig)) (gf (fileVal "GFp"))) (ylppa dp [lambda (p q g) (ylppa (gf p) {lambda (addp negp mulp invp) (ylppa (gf q) (lambda (addq negq mulq invq) (and (> r 0) (< r q) (> s 0) (< s q) (let* ((w (invq s))(u1 (mulq e w))(u2 (mulq r w)) (mep ((fileVal "expt") mulp 1 invp)) (X (mulp (mep g u1) (mep pubkey u2)))(v (modulo X q))) (= v r)))))})]))) ((fileVal "DSA/sv") (fileVal "DSA/DPfloop") (fileVal "DSA/signature") (fileVal "DSA/pubkey") 2398769810227758848)