---
title: "retractFact(_:)"
framework: gameplaykit
role: symbol
role_heading: Instance Method
path: "gameplaykit/gkrulesystem/retractfact(_:)"
---

# retractFact(_:)

Removes the specified fact from the fact set, and reevaluates the rules in the system’s agenda.

## Declaration

```swift
func retractFact(_ fact: any NSObjectProtocol)
```

## Parameters

- `fact`: An object representing a truth to be rejected by the rule system. For details, see the doc://com.apple.gameplaykit/documentation/GameplayKit/GKRuleSystem/facts property.

## Discussion

Discussion Calling this method is equivalent to calling the retractFact(_:grade:) method with a grade value of 1.0, thus reducing the fact’s membership grade to zero and removing it from the facts array. Upon asserting or retracting any facts, the system reevaluates the rules in its agenda list so any rules that depend on changes to the set of facts can perform their actions.

## See Also

### Asserting and Retracting Facts

- [facts](gameplaykit/gkrulesystem/facts.md)
- [assertFact(_:)](gameplaykit/gkrulesystem/assertfact(_:).md)
- [assertFact(_:grade:)](gameplaykit/gkrulesystem/assertfact(_:grade:).md)
- [retractFact(_:grade:)](gameplaykit/gkrulesystem/retractfact(_:grade:).md)
