change proposition implementation

Use actual proposition objects instead of explicit disjoint sets of
cleared and filled properties.