 [det]require_prolog_version(+Required, 
+Features:list)
[det]require_prolog_version(+Required, 
+Features:list)Major.Minor[[.Patch][[-GitRev],-GitHash]]]
Example strings are’8.5’,’8.5.0’,’8.5.0-50’,’8.5.0-69-gad38e8ad8`. The last two require fetching the sources from git or using the Windows daily builds.
Versions may be embedded in a comparison operator (<, =<, =,
>= or >), e.g., =<('9.1'). 
Versions are considered to compare equal only on the components of the Required 
version. I.e., '9.1' compares equal to '9.1.2'.
Version expressions can be constructed from the Prolog operators’,’/2,’;’/2 
and’\+’/1. An example of a complicated 
expression is below, which demands major version 9, but considers 9.1.2 
not suitable.
(>=('9'), \+(=('9.1.2')))
Features is a list of required or preferred features. Individual features are:
- warning(Feature)
- Only print a warning instead of throwing an error.
- library(Lib)
- Demand library(Lib)to be present. Thde library not being there may indicate an incomplete installation. For examplelibrary(pce)to demand xpce graphics support.
- Flag
- Demand current_prolog_flag(Flag, true)to be true.
- FlagValue
- If FlagValue is Flag(Value), demand current_prolog_flag(Flag, Value)to be true.
- Errors
- - version_error('SWI-Prolog', PrologVersion, Cmp, Required)
 -existence_error(prolog_feature, Feature)