    str-requirement-pattern
    "$")))
 
+(def str-frozen-pattern
+  (str
+    str-id-pattern
+    "=="
+    str-version-pattern))
+
+(def str-frozen-regex
+  (re-pattern
+    (str
+      "^"
+      str-frozen-pattern
+      "$")))
+
 (s/def ::requirement-string
        #(re-matches str-requirement-regex %))
+

           ::package
           :into [])))

(def str-relation-pattern "(>=|==|!=|<=|<|>)")
(def str-id-pattern "[^>=<!;,|]+")
(def str-version-predicate-pattern

    "(;"
    str-version-conj-predicate-pattern
    ")*"))

(def str-alternative-pattern
  (str
    "!?"
