Snapshots generation via constructive logic