Confused with variables a & b in racket code

Don’t understand why
“a”
and
“b”
work in the code ? should we define var
“a”
and
“b”
before
“do”
?

(define v1 3)
(define v2 2)
(do ((a 1 (+ a v1))
              (b 2 (+ b v2)))
           ((>= a b) (if (= a b) 'YES 'NO)))

Confused with variables a & b in racket code