LukasHug commited on
Commit
bf1b494
·
1 Parent(s): 78670b1

rule validation post extraction

Browse files
VerifiableRewardsForScalableLogicalReasoning.py CHANGED
@@ -118,14 +118,7 @@ def _evaluate_with_prolog(prediction, validation_program, eval_config, timeout=5
118
  """
119
  Evaluates a predicted rule against the validation program using Prolog.
120
  """
121
- is_valid, validation_msg = validate_rule_no_hardcoded_cars(prediction)
122
- if not is_valid:
123
- return {
124
- "is_correct": False,
125
- "partial_score": 0.0,
126
- "syntax_valid": False,
127
- "error": f"Rule validation failed: {validation_msg}"
128
- }
129
 
130
  # Extract configuration
131
  positive_pred = eval_config.get("positive_predicate", "eastbound")
@@ -134,6 +127,16 @@ def _evaluate_with_prolog(prediction, validation_program, eval_config, timeout=5
134
 
135
  # extract predicate from rule_to_evaluate
136
  rule_to_evaluate = extract_ilp_from_text_v2(prediction, positive_pred, allow_multiple_rules)
 
 
 
 
 
 
 
 
 
 
137
  if positive_pred not in rule_to_evaluate:
138
  p = prediction.replace('\n', ' ')
139
  return {
 
118
  """
119
  Evaluates a predicted rule against the validation program using Prolog.
120
  """
121
+
 
 
 
 
 
 
 
122
 
123
  # Extract configuration
124
  positive_pred = eval_config.get("positive_predicate", "eastbound")
 
127
 
128
  # extract predicate from rule_to_evaluate
129
  rule_to_evaluate = extract_ilp_from_text_v2(prediction, positive_pred, allow_multiple_rules)
130
+
131
+ is_valid, validation_msg = validate_rule_no_hardcoded_cars(rule_to_evaluate)
132
+ if not is_valid:
133
+ return {
134
+ "is_correct": False,
135
+ "partial_score": 0.0,
136
+ "syntax_valid": False,
137
+ "error": f"Rule validation failed: {validation_msg}"
138
+ }
139
+
140
  if positive_pred not in rule_to_evaluate:
141
  p = prediction.replace('\n', ' ')
142
  return {