# Enumerating or Iterating Asserted Expressions

**URL:** <https://swi-prolog.discourse.group/t/enumerating-or-iterating-asserted-expressions/545>\
**Category:** Help!\
**Created:** [April 16, 2019, 4:12am UTC](https://swi-prolog.discourse.group/t/enumerating-or-iterating-asserted-expressions/545 "2019-04-16T04:12:05Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![AdamSobieski](https://avatars.discourse-cdn.com/v4/letter/a/da6949/32.png) [@AdamSobieski](https://swi-prolog.discourse.group/u/AdamSobieski)\
**Post date:** [April 16, 2019, 4:12am UTC](https://swi-prolog.discourse.group/t/enumerating-or-iterating-asserted-expressions/545/1 "2019-04-16T04:12:05Z")

</div>

Greetings. I have a quick Prolog question. I’m looking at:

1. [http://www.swi-prolog.org/pldoc/man?section=examineprog](http://www.swi-prolog.org/pldoc/man?section=examineprog)
2. [http://www.swi-prolog.org/pldoc/man?section=listing](http://www.swi-prolog.org/pldoc/man?section=listing)

and I’m hoping to enumerate or to iterate, in a query, all of the asserted expressions. Are there any best practices to enumerate or to iterate, in a query, all of the asserted expressions? I’d like for a query variable to unify with each asserted expression, in sequence.

I’m also interested in providing a list interface to the asserted expressions for specific predicates (e.g. `nth_clause/3`) as well as across all predicates used in asserted expressions.

---

<div class="post-metadata">

**Author:** ![abaljeu](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/abaljeu/32/136_2.png) [@abaljeu](https://swi-prolog.discourse.group/u/abaljeu)\
**Post date:** [April 16, 2019, 2:39pm UTC](https://swi-prolog.discourse.group/t/enumerating-or-iterating-asserted-expressions/545/3 "2019-04-16T14:39:24Z")

</div>

```
func :-
    predicate_property(S, dynamic),
    clause(S, T),
    writeln(S :- T),
    fail.
```

---

<div class="post-metadata">

**Author:** ![AdamSobieski](https://avatars.discourse-cdn.com/v4/letter/a/da6949/32.png) [@AdamSobieski](https://swi-prolog.discourse.group/u/AdamSobieski)\
**Post date:** [April 16, 2019, 3:38pm UTC](https://swi-prolog.discourse.group/t/enumerating-or-iterating-asserted-expressions/545/4 "2019-04-16T15:38:52Z")

</div>

Thank you.

```prolog
world:predicate_property(S, dynamic), world:clause(S, true).

```

is working for enumerating or iterating the assertions in a module.
